Существует множество алгоритмов сортировки, и одним из самых простых алгоритмов сортировки является сортировка пузырьком. Этот алгоритм работает путем замены двух соседних значений, и этот процесс повторяется до тех пор, пока все значения не будут в правильном порядке.
Например, у нас есть массив чисел
[1, 3, 8, 2]
И это шаги по их сортировке путем замены соседних значений
-> [1, 3, 8 , 2]
-› [1, 3, 2, 8] // первый обмен
-› [1, 2, 3, 8 ] // второй обмен
И получаем результат: [1, 2, 3, 8]
А это реализация пузырьковой сортировки с помощью Javascript
const bubbleSort = (arr) => { const arrLength = arr.length; for (let i = 0; i < arrLength; i++) { for (let j = 0; j < arrLength - i - 1; j++) { if (arr[j] > arr[j + 1]) { arr[j] = arr[j] + arr[j + 1]; arr[j + 1] = arr[j] - arr[j + 1]; arr[j] = arr[j] - arr[j + 1]; } } } return arr; }
В приведенном выше коде мы перебираем массив значений с индексом i. Затем для каждого индекса i мы снова выполняем цикл с индексом j от 0 до i — 1. И мы меняем значение позиции j на j+1, если значение больше j.
Мы можем поменять местами 2 значения без использования временной переменной.
Например, x = 2, y = 5
Мы можем поменять их местами следующим образом:
x = x+y ~› x = 2+ 5=7
y = x-y ~› y = 7–5=2
x = x-y ~› x = 7–2=5
Скопируйте код, и вы можете запустить его так
-> bubbleSort([5, 1, 4, 0]) // call the function -> [0, 1, 4, 5] // output