Практическое занятие по сортировке выбором на JavaScript

Beginner

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

Введение

В этом практическом занятии мы изучим алгоритм сортировки выбором и научимся использовать его для сортировки массива чисел на JavaScript. Цель этого практического занятия - дать возможность получить практический опыт работы с сортировкой выбором и понять, как она работает "под капотом". В конце этого практического занятия вы глубоко освоите сортировку выбором и сможете применить ее для решения задач сортировки в своих будущих проектах.

Алгоритм сортировки выбором

Для начала кодирования откройте Терминал/SSH и введите node.

Следующая функция сортирует массив чисел с использованием алгоритма сортировки выбором:

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;
};

Для использования функции передайте массив чисел в selectionSort(), как это показано ниже:

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

Функция работает путём клонирования исходного массива с использованием оператора расширения (...). Затем она итерируется по массиву с использованием цикла for. С использованием Array.prototype.slice() и Array.prototype.reduce() функция находит индекс минимального элемента в подмассиве справа от текущего индекса. Если необходимо, она выполняет обмен элементов.

Резюме

Поздравляем! Вы завершили практическое занятие по сортировке выбором. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.