1
resposta

Minha solução do exercício proposto

Oi, pessoal! Vi aqui no fórum que algumas pessoas tiveram problemas com o exercício proposto. Minha solução foi a seguinte:

  1. No arquivo troca.js, coloquei a função troca() com 3 parâmetros: lista, analise e menor.
function troca(lista, analise, menor) {
    let itemAnalise = lista[analise];
    let itemAnterior = lista[menor];

    lista[analise] = itemAnterior;
    lista[menor] = itemAnalise;
}

module.exports = troca;
  1. No insertionSort.js, chamei a função troca() (dentro do while) com os seguintes parâmetros: (livros, analise, analise-1).
const livros = require('./listaLivros');
const troca = require('./troca');

function insertionSort(lista) {

    for (let atual = 0; atual < lista.length; atual++) {
        let analise = atual;
        while (analise > 0 && lista[analise].preco < lista[analise - 1].preco) {
            troca(livros, analise, analise-1);

            analise--
        }        
    }

    console.log(lista);
}

insertionSort(livros);
  1. E no arquivo selectionSort.js, chamei a função troca() (dentro do for) com os seguintes parâmetros: (livros, atual, menor).
const livros = require('./listaLivros');
const menorValor = require('./menorValor');
const troca = require('./troca');

for (let atual = 0; atual < livros.length; atual++) {
    let menor = menorValor(livros, atual);

    troca(livros, atual, menor);

}

console.log(livros);

Prontinho! Assim rodou tudo certo. Espero ter ajudado!

1 resposta

Olá Fernanda, tudo bem?

Muito obrigado por compartilhar sua solução do exercício proposto. Com certeza isso pode ajudar outras pessoas que tiveram dificuldades na resolução.

Sua solução está bem organizada e clara. É muito importante entendermos como cada função está sendo chamada e como os parâmetros estão sendo utilizados.

Continue praticando e se dedicando aos estudos de JavaScript. Com certeza você irá evoluir cada vez mais.

Espero ter ajudado e bons estudos!