JavaScript 快速排序与冒泡排序算法详解

作者:函数茶馆

时间:2026-10-22

浏览:501

本文详细解析 JavaScript 中两种常见排序算法:快速排序与冒泡排序。快速排序通过选取基准值将数组递归划分为左右两部分,实现高效排序;冒泡排序则通过相邻元素两两比较与交换,逐步将最大值移至末尾。文章提供了完整的 JS 代码实现,帮助开发者理解算法核心逻辑与具体编码技巧。

文章目录

快速排序算法原理与实现

1.快速排序思想:

1.1 选取数组正中间的元素作为基准值。

1.2 遍历数组,将小于基准值的元素放入 left 数组,大于基准值的元素放入 right 数组。

1.3 对 left 和 right 数组递归执行上述步骤,直至数组长度小于等于1。

具体实现代码如下:


function quickSort(arr) {
  if (arr.length <=1 ){
    return arr;
  }
  var middleIndex = Math.floor(arr.length / 2);
  var left = [];
  var right = [];
  var middle = arr.splice(middleIndex,1)[0];
  for (var i = 0; i < arr.length; i++) {
    if ( arr[i] > middle) {
      right.push(arr[i]);
    } else {
      left.push(arr[i]);
    }
  }
  return quickSort(left).concat(middle,quickSort(right));
}

冒泡排序算法原理与实现

2. 冒泡排序思想:

2.1 比较相邻的两个元素,如果前一个大于后一个,则交换它们的位置。

2.2 重复遍历数组,每轮遍历将当前未排序部分的最大值“冒泡”至末尾。

具体实现代码如下:


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

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持本站!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章