以下是用 JavaScript 编写的冒泡排序算法:

function bubbleSort(arr) {
  let len = arr.length;
  for (let i = 0; i < len - 1; i++) {
    for (let j = 0; j < len - 1 - i; j++) {
      if (arr[j] > arr[j + 1]) {
        let temp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = temp;
      }
    }
  }
  return arr;
}

// 测试
let arr = [5, 3, 8, 4, 2];
console.log(bubbleSort(arr)); // [2, 3, 4, 5, 8]

冒泡排序算法是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻的元素,并交换它们的位置,直到列表被排序。

算法步骤:

  1. 比较相邻的元素,如果第一个元素大于第二个元素,则交换它们的位置。
  2. 重复步骤 1,直到列表的末尾。
  3. 重复步骤 1 和 2,直到列表被排序。

代码解析:

  • bubbleSort(arr) 函数接受一个数组 arr 作为参数。
  • len 变量存储数组的长度。
  • 外层循环遍历数组的所有元素,除了最后一个元素。
  • 内层循环遍历当前元素后面的所有元素。
  • 如果当前元素大于下一个元素,则交换它们的位置。
  • 函数最后返回排序后的数组。

优缺点:

优点:

  • 代码简单易懂。
  • 实现比较容易。

缺点:

  • 时间复杂度为 O(n^2),效率较低。
  • 对已经排序好的数组效率很低。

适用场景:

冒泡排序适合于数据量较小的数组,或者需要一个简单的排序算法。

总结:

冒泡排序是一种基础的排序算法,它虽然效率较低,但易于理解和实现。对于简单的数据排序任务,它仍然是一个可行的选择。

JavaScript 冒泡排序算法实现详解

原文地址: https://www.cveoy.top/t/topic/lWK4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录