冒泡排序简明解析——算法、代码与复杂度

发布日期:2026-05-20 10:33:34   浏览量 :2
发布日期:2026-05-20 10:33:34  
2

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;
}

⏱ 复杂度分析

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
回到顶部
情况 时间复杂度 空间复杂度 稳定性