Сортировка упорядочивает элементы. Простые алгоритмы понятны, но медленны — O(n²).
Сортировка пузырьком: проходим по массиву, сравнивая соседние элементы, и меняем их местами, если они не по порядку. За несколько проходов большие элементы «всплывают» к концу.
function bubbleSort(arr) { for (let i = 0; i < arr.length; i++) { for (let j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]]; // обмен } } } return arr; }
Два вложенных цикла дают O(n²): на 10 элементах ~100 операций, на 1000 — уже миллион. Похожи сортировки выбором и вставками — тоже O(n²).
Эти алгоритмы учат ради понимания идеи сравнений и обменов. На практике их не используют для больших данных — есть способы быстрее.