2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家
冒泡排序并不用于生产环境——但它是学习排序逻辑的最佳算法,因为每一步都清晰可见且直观易懂。
🔹 核心思想
重复比较相邻元素。如果顺序错误,则交换位置。较大的元素会像气泡一样“浮”到末尾。
📋 逐步演示:[5, 3, 8, 2]
第一轮: 5↔3 → 5 与 8 比较 → 8↔2 → [3, 5, 2, **8**]
第二轮: 3 与 5 比较 → 5↔2 → [3, 2, **5**, 8]
第三轮: 3↔2 → [**2**, **3**, 5, 8] ✅
💻 优化后的 JavaScript 代码
function bubbleSort(arr) {
const n = arr.length;
for (let i = 0; i < n - 1; i++) {
let swapped = false;
for (let j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
swapped = true;
}
}
if (!swapped) break; // 提前退出 — 最佳情况时间复杂度为 O(n)
}
return arr;
}
⏱ 复杂度分析
| 情况 | 时间复杂度 | 空间复杂度 | 稳定性 |
|---|