Introdução
Neste laboratório, exploraremos a implementação do algoritmo de ordenação por inserção (insertion sort) em JavaScript. Aprenderemos como ordenar um array de números usando este algoritmo e entender a lógica por trás dele. Ao final deste laboratório, você será capaz de usar o algoritmo de ordenação por inserção para ordenar arrays de forma eficiente em seus projetos JavaScript.
Algoritmo de Ordenação por Inserção em JavaScript
Para praticar a codificação, abra o Terminal/SSH e digite node. Este algoritmo ordena um array de números usando o método de ordenação por inserção (insertion sort). Siga estes passos para implementar este algoritmo:
- Use
Array.prototype.reduce()para iterar sobre todos os elementos no array fornecido. - Se o
length(comprimento) do acumulador for0, adicione o elemento atual a ele. - Use
Array.prototype.some()para iterar sobre os resultados no acumulador até que a posição correta seja encontrada. - Use
Array.prototype.splice()para inserir o elemento atual no acumulador.
Aqui está o código para implementar a ordenação por inserção em JavaScript:
const insertionSort = (arr) =>
arr.reduce((acc, x) => {
if (!acc.length) return [x];
acc.some((y, j) => {
if (x <= y) {
acc.splice(j, 0, x);
return true;
}
if (x > y && j === acc.length - 1) {
acc.splice(j + 1, 0, x);
return true;
}
return false;
});
return acc;
}, []);
Você pode testar o algoritmo com o seguinte código:
insertionSort([6, 3, 4, 1]); // [1, 3, 4, 6]
Resumo
Parabéns! Você concluiu o laboratório de Ordenação por Inserção (Insertion Sort). Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.