Алгоритм пузырьковой сортировки
Для практики программирования откройте Терминал/SSH и введите node, чтобы запустить. Алгоритм пузырьковой сортировки сортирует массив чисел.
Шаги по сортировке массива с использованием алгоритма пузырьковой сортировки:
-
Объявите переменную swapped, которая показывает, были ли обменяны какие-либо значения на текущей итерации.
-
Используйте оператор расширения (...), чтобы клонировать исходный массив arr.
-
Используйте цикл for, чтобы перебирать элементы клонированного массива, заканчивая перед последним элементом.
-
Используйте вложенный цикл for, чтобы перебирать отрезок массива между 0 и i, меняя местами любые смежные элементы, расположенные в неправильном порядке, и устанавливая swapped в true.
-
Если после итерации swapped равно false, больше никаких изменений не требуется, поэтому возвращается клонированный массив.
Пример кода:
const bubbleSort = (arr) => {
let swapped = false;
const a = [...arr];
for (let i = 1; i < a.length; i++) {
swapped = false;
for (let j = 0; j < a.length - i; j++) {
if (a[j + 1] < a[j]) {
[a[j], a[j + 1]] = [a[j + 1], a[j]];
swapped = true;
}
}
if (!swapped) return a;
}
return a;
};
bubbleSort([2, 1, 4, 3]); // [1, 2, 3, 4]