código 1
const edFolha = [
{
nome:"PHP",
preco: 56
},
{
nome: "JavaScript",
preco: 27
},
{
nome: "Java",
preco: 89
},
{
nome: "Go",
preco: 47
},
{
nome: "Elixir",
preco: 46
}
]
const edGalho = [
{
nome: "Python",
preco: 3
```4
},
{
nome:"Rust",
preco: 22
},
{
nome: "Ruby",
preco: 26
},
{
nome: "C#",
preco: 375
},
{
nome: "C++",
preco: 387
},
{
nome: "Scala",
preco: 42
}
]
module.exports = { edFolha, edGalho }
código 2
const ListaDeLivros = require ("./listalivros")
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(parte1, parte2){
let posiçãoatualparte1 = 0
let posiçãoatualparte2 = 0
const resultado = []
while(posiçãoatualparte1 < parte1.length && posiçãoatualparte2 < parte2.length){
let produtoatualparte1 = parte1[posiçãoatualparte1]
let produtoatualparte2 = parte2[posiçãoatualparte2]
if(produtoatualparte1.preco < produtoatualparte2.preco){
resultado.push(produtoatualparte1)
posiçãoatualparte1++;
}else{
resultado.push(produtoatualparte2)
posiçãoatualparte2++;
}
}
return resultado.concat(posiçãoatualparte1 < parte1.length ? parte1.slice(posiçãoatualparte1) : parte2.slice(posiçãoatualparte2))
}
console.log(mergeSort(ListaDeLivros))