8.2.1 直接插入 8.2.2 折半插入 8.2.3 希尔排序 8.3.1 冒泡排序 8.3.2 快速排序 8.3.3 快排优化 8.4.1 简单选择 8.4.2 堆排序 8.4.3 堆操作 8.5.1 归并排序 8.5.2 迭代归并 8.6.1 LSD基数 8.6.2 LSD vs MSD 8.7.1 雷达图 8.7.2 决策器 8.8.1 外部排序 8.8.2 最佳归并树
点击播放开始冒泡排序演示
轮次: 0 / 0
?
算法说明

冒泡排序(Bubble Sort)重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

for (i = 0; i < n-1; i++) { swapped = false; for (j = 0; j < n-1-i; j++) if (a[j] > a[j+1]) { swap(a[j], a[j+1]); swapped = true; } if (!swapped) break; }

时间复杂度 O(n²) 空间复杂度 O(1) 稳定排序