一句话理解
冒泡排序:相邻比较,逆序就交换,大的会“冒”到后面。
为什么要学
理解排序过程的第一课,比赛中用 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]);
相邻逆序就换。
常见错误
- 内层边界写成 n,越界。
- 把冒泡当 O(n log n)。