Ordenação por Seleção Prática em JavaScript

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Neste laboratório, exploraremos o algoritmo de ordenação por seleção (selection sort) e aprenderemos como usá-lo para ordenar um array de números em JavaScript. Este laboratório visa fornecer uma experiência prática com a ordenação por seleção e ajudá-lo a entender como ela funciona internamente. Ao final deste laboratório, você terá uma sólida compreensão da ordenação por seleção e poderá aplicá-la para resolver problemas de ordenação em seus projetos futuros.

Algoritmo de Ordenação por Seleção (Selection Sort)

Para começar a codificar, abra o Terminal/SSH e digite node.

A seguinte função ordena um array de números usando o algoritmo de ordenação por seleção:

const selectionSort = (arr) => {
  const a = [...arr];
  for (let i = 0; i < a.length; i++) {
    const min = a
      .slice(i + 1)
      .reduce((acc, val, j) => (val < a[acc] ? j + i + 1 : acc), i);
    if (min !== i) [a[i], a[min]] = [a[min], a[i]];
  }
  return a;
};

Para usar a função, passe um array de números para selectionSort(), assim:

selectionSort([5, 1, 4, 2, 3]); // [1, 2, 3, 4, 5]

A função funciona clonando o array original usando o operador spread (...). Em seguida, itera sobre o array usando um loop for. Usando Array.prototype.slice() e Array.prototype.reduce(), ela encontra o índice do elemento mínimo no subarray à direita do índice atual. Se necessário, realiza uma troca (swap).

Resumo

Parabéns! Você concluiu o laboratório de Ordenação por Seleção. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.