O meu codigo não esta ordenando. Segue codigo :
const listaLivros = [
{
titulo:"Go",
preco: 45
},
{
titulo:"C++",
preco: 35
},
{
titulo:"Java",
preco: 30
},
{
titulo:"PHP",
preco: 15
},
{
titulo:"Elixir",
preco: 50
},
{
titulo:"Rust",
preco: 22
},
{
titulo:"Scala",
preco: 40
},
{
titulo:"Ruby",
preco: 28
},
{
titulo:"Javascript",
preco: 25
},
{
titulo:"C#",
preco: 33
},
{
titulo:"Python",
preco: 20
}
]
module.exports = {listaLivros};
const listaLivros = require('./livros')
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 posAtualParte1 = 0
let posAtualParte2 = 0
const resultado = []
while (posAtualParte1 < parte1.length && posAtualParte2 < parte2.length) {
let prodAtualParte1 = parte1[posAtualParte1]
let prodAtualParte2 = parte2[posAtualParte2]
if (prodAtualParte1.preco < prodAtualParte2.preco) {
resultado.push(prodAtualParte1)
posAtualParte1++
} else {
resultado.push(prodAtualParte2)
posAtualParte2++
}
}
return resultado.concat(posAtualParte1 < parte1.length
? parte1.slice(posAtualParte1)
: parte2.slice(posAtualParte2))
}
console.log(mergeSort(listaLivros))
Cheguei ate literalmente a copiar o codigo da instrutora porem mesmo assim não esta ordenando