JavaScript 已禁用

为了获得更好的体验,请启用JavaScript,或点击下方链接跳转:

跳转至百度
Skip to content

排序算法可视化

20
200ms
0
比较次数
0
交换次数
0
当前步骤

冒泡排序 详情

通过重复走访待排序数组,每次比较相邻元素并交换顺序错误的元素,直到无交换为止。适合小规模数据,时间复杂度O(n²)。

算法步骤:

  1. 比较相邻的两个元素,若前者大于后者则交换位置
  2. 从数组起始遍历到末尾,完成后最大元素会“冒泡”到末尾
  3. 排除已排序的末尾元素,重复上述步骤
  4. 直到所有元素排序完成
function bubbleSort(arr) {
  const n = arr.length;
  let comparisons = 0;
  let swaps = 0;

  for (let i = 0; i < n - 1; i++) {
    for (let j = 0; j < n - i - 1; j++) {
      comparisons++;
      if (arr[j] > arr[j + 1]) {
        // 交换元素
        [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
        swaps++;
      }
    }
  }
  return { sortedArr: arr, comparisons, swaps };
}

通用排序算法可视化框架 © 2025 | 支持动态扩展算法