Как выполнить пузырьковую сортировку с помощью JavaScript

Ах, алгоритмы сортировки. Так приятно.

А сегодня — пузырьковая сортировка.

Кратко

Проще говоря, пузырьковая сортировка — это процесс, в котором мы многократно перебираем массив и сравниваем текущее значение со следующим значением, и, если оно больше, мы меняем его местами.

Итак, вот пошаговый процесс:

Я начну с этого массива и отсортирую в порядке возрастания:

Сравним первые два индекса:

Нечего там менять. Идем дальше…

Теперь мы можем поменять местами 7 на 1 и переместить скользящее окно сравнения вниз…

И снова 7 может двигаться вниз:

Теперь давайте перезапустим процесс сверху…

Сделано и сделано!

Закодировано

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

Другими словами, каждый раз, когда я запускаю внешний цикл, я знаю, что еще одно значение в конце массива не нужно сортировать.

Кроме того, если я хочу проверить отсортированный массив и прервать итерацию досрочно, я могу реализовать что-то вроде этого…

Вот и все! В ближайшем будущем я опубликую полную серию сообщений об алгоритмах сортировки, поэтому, если вам интересно узнать больше, не стесняйтесь подписаться на уведомления.

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord.