const listaLivros = require('./array');
function mergeSort(array){ if(array.length > 1){ const meio= Math.floor(array.length /2); const parte1= mergeSort(array.slice(0, meio)); const parte2= mergeSort(array.slice(meio, array.length));
array = ordena(parte1, parte2);
}
return array;
}
function ordena(lista1, lista2) { let posicaoAtualPare1=0; let posicaoAtualPare2=0; const resultado= [];
while(posicaoAtualPare1 < lista1.length && posicaoAtualPare2 < lista2.length){
let produtoAtualparte1= lista1[posicaoAtualPare1];
let produtoAtualparte2= lista2[posicaoAtualPare2];
if (produtoAtualparte1.preco< produtoAtualparte2) {
resultado.push(produtoAtualparte1)
posicaoAtualPare1++
}else{
resultado.push(produtoAtualparte2)
posicaoAtualPare2++
}
}
return resultado.concat(posicaoAtualPare1< lista1.length
? lista1.slice(posicaoAtualPare1)
: lista2.slice(posicaoAtualPare2))
}
console.log(mergeSort(listaLivros));