Bubble Sort

冒泡排序演示

冒泡排序通过重复"比较相邻元素并交换它们的顺序"来逐步将最大的元素移动到数组末尾。

动画速度:

Quick Actions

常用操作

Visualization

排序可视化

131
135
186
73
38
77
151
107
166
174

Steps

排序步骤明细

暂无步骤,请点击"开始排序"

Algorithm Info

算法说明

算法步骤

  1. 从数列的第一元素开始,比较相邻的两个元素。
  2. 如果前一个元素大于后一个元素,则交换它们。
  3. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。
  4. 这步做完后,最后的元素会是最大的数。
  5. 针对所有的元素重复以上的步骤,除了最后一个。
  6. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

时间复杂度

最坏情况: O(n²) - 当数组是逆序时

最好情况: O(n) - 当数组已排序时

平均情况: O(n²)

空间复杂度

O(1) - 原地排序,只需常数级别的额外空间

稳定性

冒泡排序是稳定的排序算法,相同元素的相对顺序不会改变。

提示:可以点击排序步骤明细中的步骤来回看具体过程。