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

Например, у нас есть массив чисел
[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