1
resposta

Criando arquivo troca.js

Boa Noite,

Gosto de desafios, e ao final da parte 3, de Algoritmos com JavaScript, tem um desafio de construir um arquivo de troca.js. E no fim deste, pedem para que este arquivo funcione tanto no insertionSort.js, quanto no selectionSort.js. Apesar da estrutura ser semelhante, a origem das variáveis é diferente. Consegui. Mas, gostaria de saber se alguém tem uma solução melhor que a minha. Pois a minha achei meio forçada. De qualquer forma, agradeço se alguém puder compartilhar uma ideia diferente da minha. Segue minha solução:

  function troca(lista, posicaoA, posicaoB) {
    let itemAnalise = lista[posicaoA];
    let itemAnterior = lista[posicaoB];

    lista[posicaoA] = itemAnterior;
    lista[posicaoB] = itemAnalise;
}

module.exports = troca;
1 resposta

Olá Fausto,

Parabéns por conseguir resolver o desafio de construir o arquivo troca.js! Sua solução parece bastante coerente e eficiente. É importante lembrar que existem diversas formas de resolver um problema em programação, e cada pessoa pode ter uma abordagem diferente.

Caso você queira melhorar ainda mais sua solução, uma sugestão seria utilizar a desestruturação de arrays para realizar a troca das posições. Ficaria assim:

function troca(lista, posicaoA, posicaoB) {
  [lista[posicaoA], lista[posicaoB]] = [lista[posicaoB], lista[posicaoA]];
}

module.exports = troca;

Dessa forma, você consegue realizar a troca das posições de forma mais concisa e clara. Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.