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 inteirowhile(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 funcaofor(i=0;i<10;i++)//loop para exibir o resultado já ordenado{
printf("%d\t",v[i]);}return0;}
Pergunta
Rafael1111
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
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.