Меню

Пожалуй самый простой для понимания и реализации алгоритм упорядочивания элементов в массиве. Так как сложность алгоритма O(n²), алгоритм хорошо подходит для учебных целей — сортировка коротких списков.

Суть алгоритма — происходит обход массива так, что при каждой итерации сравниваются 2 соседних элемента. Если первый элемент больше второго, то элементы меняются местами.

Хорошая визуализация процесса работы сортировки пузырьком


function bubbleSort(arr) {
    let swapped = true
    while (swapped) {
        swapped = false
        for (let i = 0; i < arr.length - 1; i++) {
            if(arr[i] > arr[i+1]) {
              swap(arr, i, i+1)
              swapped = true
            }             
        }
    }
    return arr;
}

function swap(arr, i, j) {
    const tmp = arr[i];
    arr[i] = arr[j];
    arr[j] = tmp;
}


Если вдруг для вас страница оказалась полезной: