Tentei fazer o mergeSort no JavaScript, mas não funciona, qual o problema ? Segue o link > https://jsfiddle.net/1rrk6ve0/
Tentei fazer o mergeSort no JavaScript, mas não funciona, qual o problema ? Segue o link > https://jsfiddle.net/1rrk6ve0/
Oi Thiago, para a gente conseguir ajudar mais, pode dizer o que acontece? A ordenação fica errada? Da um erro de execução?
Oi Alberto já resolvi, vlw, problema era falta de atenção, vlw
function mergeSort(arr,ini,fim){
if((fim-ini) > 1){
var meio = Math.round((fim+ini)/2);
mergeSort(arr,ini,meio);
mergeSort(arr,meio,fim);
merge(arr,ini,meio,fim);
}
}
function merge(arr,ini,meio,fim){
var att=0,att1 = ini,att2= meio, y=[];
while(att1 < meio && att2 < fim){
if(arr[att1] < arr[att2])
y[att] = arr[att1++];
else
y[att] = arr[att2++];
att++;
}
while(att1 < meio){
y[att++] = arr[att1++];
}
while(att2 < fim){
y[att++] = arr[att2++];
}
for(var i = 0 ; i < att ; i++){
vetor[ini+i] = y[i];
}
}
vetor = [1,2,3,4,5,60,7,8,-1,-2,-3,-4,-5,-6,0,50,9]
mergeSort(vetor,0,vetor.length);
Assim está indo tudo ok, vlw