快速排序(quicksort)是一种常见的排序算法,它运用分治思想,将原本需要排序的数据集合划分成较小的子集合
,再分别进行排序,最后合并子集得到完整排序后的集合。在 JavaScript 中,实现快速排序算法的代码如下:
function quickSort(arr)
{ if (arr.length <= 1) { return arr; }
var pivotIndex = Math.floor(arr.length / 2);
var pivot = arr.splice(pivotIndex, 1)[0];
var left = []; var right = [];
for (var i = 0; i < arr.length; i++)
{
if (arr[i] < pivot)
{
left.push(arr[i]);
} else
{
right.push(arr[i]);
}
}
return quickSort(left).concat([pivot], quickSort(right));
}
这段代码会首先判断数组长度是否为 1,如果是,则直接返回数组。如果不是,则选择中间值作为基准值
,并将数组依据基准值分成两个子数组,再递归运用快速排序算法对两个子数组进行排序,
然后将两个子数组和基准值合并成一个数组返回。
arr=[4,5,1,2,3,6,7,11,22,34,10]
console.log(quickSort(arr))
[
1, 2, 3, 4, 5,
6, 7, 10, 11, 22,
34
]
开发工具:Webstorm 2021
微信截屏工具 Alt+A
CSDN ChitGPT