JavaScript 快速排序与冒泡排序算法详解
作者:函数茶馆时间:2026-10-22 00:38:30浏览:502
本文详细解析 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;
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持本站!
作者最新文章
JS大数值转字符串出现科学计数法怎么办
2026-11-05 17:09:21
JS split切割后出现空字符串怎么过滤
2026-11-05 16:00:30
在 React 或 Vue 项目中封装使用 JS 节流防抖
2026-11-05 15:27:29
JavaScript中怎么将带小数的字符串转为整数?
2026-11-05 14:32:38
怎么用JavaScript策略模式重构电商促销计算逻辑?
2026-11-05 14:01:09
