冒泡排序原理
冒泡排序是一種簡單的排序算法,通過重復遍歷數組,比較相鄰元素并交換位置,使較大的元素逐漸“浮”到數組末尾。
特點
時間復雜度:平均 O(n2),最優(已有序時)O(n)
空間復雜度:O(1)(原地排序)
穩定性:穩定(相同元素相對位置不變)
// 冒泡排序
function bubbleSort(arr) {let n = arr.length;let swapped; // 優化標志for (let i = 0; i < n - 1; i++) {swapped = false;// 每輪遍歷后,最大的元素會沉到最后for (let j = 0; j < n - 1 - i; j++) {if (arr[j] > arr[j + 1]) {// 交換元素[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];swapped = true;}}// 如果本輪未交換,說明已有序if (!swapped) break;}return arr;
}