跳到正文
信奥逐课

第 171 课

冒泡排序

🟢 入门 约 5 分钟

一句话理解

冒泡排序:相邻比较,逆序就交换,大的会“冒”到后面。

为什么要学

理解排序过程的第一课,比赛中用 sort,不手写冒泡交题。

讲解

n 轮,每轮把未排序部分的最大值推到末尾。复杂度 O(n²)。

可以提前结束:某一轮没有交换说明已经有序。

例子

for (int i = 0; i < n; i++)
  for (int j = 0; j + 1 < n - i; j++)
    if (a[j] > a[j + 1]) swap(a[j], a[j + 1]);

相邻逆序就换。

常见错误

练习 做完再看下一课

冒泡的常见复杂度?

在线练习 C++ 在浏览器里编译,代码不会上传

Ctrl / ⌘ + Enter 运行 · Tab 缩进

输出
 

进度保存在本机浏览器里。

左右方向键也可翻课