Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda para explicar o código


Rafael1111

Pergunta

Boa noite

gostaria de uma ajuda só pra comentar este código sobre MergeSort, fiz algumas linhas mas não entendi muito bem como funciona as que deixei sem comentar, se alguém puder ajudar eu agradeço desde já. 

Caso eu tenha comentado algo errado me corrijam, obrigado

 

#include<stdio.h>
void intercalar (int v[],int aux[],int ini1, int ini2,int fim2)	//funcao de intercalacao para organizar o vetor
{
 int in1=ini1,in2=ini2,fim1=in2-1,au=0,i;	//definicao das variaveis como inteiro
 while(in1<=fim1 && in2<=fim2)	//definicao dos valores de cada lado do vetor
 {
  if (v[in1]<v[in2])
  {
   aux[au++] = v[in1++];
  }
  else
  {
   aux[au++] = v[in2++];
  }
 }
 while(in1<=fim1)
 {
  aux[au++] = v[in1++];
 }
 while(in2<=fim2)
 {
  aux[au++] = v[in2++];
 }
 
 for(i=0;i<au;i++){
  v[i+ini1]=aux[i];}
}
void mergeSort (int v[], int aux[],int esq, int dir)	//funcao que executa o processo MergeSort
{
 int meio,i;
 if(esq<dir)
 {
  meio=(esq+dir)/2;	//calcula o meio do vetor
  mergeSort(v,aux,esq,meio);	//iteracao do MergeSort para o lado esquerdo do vetor
  mergeSort(v,aux,meio+1,dir);	//iteracao do MergeSort para o Lado direito do vetor
  intercalar(v,aux,esq,meio+1,dir);  //faz a chamada da funcao intercalar
 }
}
int main()
{
 int v[10]={4,2,10,8,9,3,7,5,6,1},aux[10],i;	//vetor de entrada dos dados de forma aleatoria, vetor auxiliar, controle
 mergeSort(v,aux,0,9);	// chamada da funcao
 for(i=0;i<10;i++)		//loop para exibir o resultado já ordenado
 {
  printf("%d\t",v[i]);
 }
 return 0;
}

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...