本文介绍如何在 JavaScript 中实现快速排序算法。核心思路是通过数组的 push 方法,将基准值左侧的小元素和右侧的大元素分别存入新数组,再结合递归调用完成排序。该方法直观展示了分治策略在 JS 中的具体应用。
JavaScript 快速排序实现思路
常见的排序算法种类繁多,本节重点讲解如何利用 JavaScript 数组的 push 方法来实现快速排序。
快速排序代码示例
function quickSort(arr){
if(arr.length <= 1) return arr;//判断是否有效数组
var cut = Math.floor(arr.length/2);//取中间下标
var left = [],right = [];
var num = arr.splice(cut,1)[0];//取基准值
for(var i = 0;i < arr.length;i ++){
if(arr[i] < num){
left.push(arr[i]);//小的放左边
}else {
right.push(arr[i]);//大的放右边
}
}
return quickSort(left).concat(num,quickSort(right));//递归
}