冒泡排序 (Bubble Sort)

基础排序算法演示

算法原理

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

核心思想:
  • 每一次遍历(外层循环),都会将当前最大的元素"冒泡"到最后面。
  • 就像水底的气泡一样逐渐上浮到水面。

演示

点击"开始排序"以观察算法执行过程
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
swap(arr[j], arr[j + 1]);
}
}
}

算法分析

特性 描述
时间复杂度 O(n²) - 平均情况和最坏情况
空间复杂度 O(1) - 只需要常数级的额外空间
稳定性 稳定 - 相等元素的相对位置不会改变