Найти в Дзене

Choice Sort. Сортировка выбором. Доступно в картинках. JavaScript

Разберём сортировку массива выбором. Для наглядности я использую картинки с человечками разного роста. Рост самого низкого человечка условно принимаю равным 1, самого высокого - 5.

Сначала выбираем опорный элемент. Этот элемент - самый первый элемент массива (с индексом 0). Сравниваем опорный элемент со всеми остальными справа от него. Если находим элемент меньше, чем он сам - меняем их местами. Таким образом, после сравнения опорного со всеми справа, самый маленький оказывается на первой позиции (с индексом 0). Этот элемент отсортирован! Теперь опорным становится уже второй элемент (с индексом 1) - так же сравниваем его со всеми элементами справа от него, если находим меньше, меняем местами. И так далее. Алгоритм заканчивает работу, когда достигаем позиции последнего элемента.

Итак, сначала у нас есть массив - группа человечков, которые стоят не по росту.

Выбираем опорный элемент - это самый первый элемент (index 0). Его будем сравнивать с остальными. Опорный элемент на картинке показан пунктиром.

-2

На позиции опорного элемента у нас стоит человечек с ростом 4.

-3

Сравниваем его со всеми элементами справа от него, находим самый маленький. Сначала меняем 4 и 2, потом 1 и 2, остальные остаются на своих местах, поскольку больше, чем найденный 1. После первого прохода вдоль строя человечков у нас на первой позиции оказывается отсортированный элемент - человечек с ростом 1.

-4
-5

Дальше, опорным элементом становится второй (index = 1). Сравниваем его со всеми элементами справа от него. Если находим меньше, меняем местами. В нашем случае самым маленьким оказался человечек с ростом 2.

-6

Следующий проход по массиву - опорный элемент в позиции 3 (index = 2). Сравниваем опорный с ростом 4 со всеми справа. В нашем случае меняем его местами с человечком с ростом 3.

-7

У нас уже отсортировано 3 элемента!

-8

Последний проход по массиву. Опорный элемент теперь на позиции 4 (index = 3). Поскольку человечек с ростом 4 меньше человечка с ростом 5 - меняем их местами. Получаем отсортированный массив! Последний элемент не требует сортировки - он автоматически на своём месте.

-9

Теперь посмотрите на реализацию алгоритма сортировки выбором на языке JavaScript.

Сhoice Sort JavaScript
Сhoice Sort JavaScript

Используем два цикла.

Внешний перебирает опорные элементы - base - от первого элемента - index = 0, до предпоследнего. Последний не нужно проверять - он автоматически становится на своё место.

Внутренний цикл перебирает элементы - el - начиная от элемента справа от опорного и до конца массива. Сравниваем элементы, если опорный больше, то меняем местами.

Надеюсь статья будет вам полезна!

Возможно вам будет интересно посмотреть сортировку вставками (Insert Sort) в картинках.

Массив котов для поднятия настроения. Yandex картинки
Массив котов для поднятия настроения. Yandex картинки

Что-то пошло не так, и нам не удалось загрузить комментарии. Попробуйте ещё раз
Рекомендуем почитать
Топ-10 лучших программ для сортировки изображений в 2023 году
Давно прошли времена, когда фотографировать можно было только на фотоаппарат, и количество снимков, ограничивалось количеством кадров на плёнке или объёмом карты памяти. Сегодня фотографировать может каждый — на фотоаппарат, на смартфон или видеокамеру. Объём памяти всех устройств позволяет делать много снимков в любой момент. И тут одна из главных задач — как разобраться в своём архиве. Облегчить эту задачу можно с помощью программ для сортировки фото. Рейтинг программ для каталогизации фотографий На рынке представлено большое количество программ для организации фотоархива...
Сортировка dict словаря по ключам в Python
Сортировка словаря по ключам Используем функцию sorted() Отсортируем по ключам в порядке возрастания: Теперь в порядке убывания: Также работает для ключей типа str. Отсортируем в алфавитном порядке: И наоборот:...
Реализации алгоритмов сортировки на Java
уществует множество различных алгоритмов сортировки, каждый из которых имеет свои особенности и может быть эффективен в определённых ситуациях. Вот основные из них с подробными описаниями и примерами на языке Java: Это простой алгоритм сортировки, который многократно проходит по списку, сравнивая соседние элементы и меняя их местами, если они стоят в неправильном порядке. Процесс повторяется до тех пор, пока массив не окажется отсортированным. Плюсы: Минусы: Пример на Java: Алгоритм сортировки вставками разделяет массив на отсортированную и неотсортированную части...
Следующая статья
Документы, вакансии и контакты