/**
* 1.选择一个元素作为基准:效益基准的移动到左边,大于基准的移动到右边分区操作结束后基准元素位置就是最终排序后的位置
* 2.对基准元素的左边和右边继续第一步的操作,直到排序完成
* 2.
*/
const quickSort = function(arr){
if(arr.length<=1)return arr;
const midIndex = Math.floor(arr.length/2);
const mid = arr.splice(midIndex,1)[0];
const left = [];
const right = [];
arr.map(item=>{
if(item<mid){
left.push(item)
}else{
right.push(item)
}
});
return quickSort(left).concat(mid,quickSort(right))
}
const arr = [9,2,8,11,7,99,33,0,77,22,1,77]
console.log(quickSort(arr))
快速排序算法
快速排序算法详解:分治法实现,
于 2023-08-03 14:54:50 首次发布
本文介绍了快速排序算法,通过选择一个基准元素将数组分为左右两部分,小于基准的元素移到左边,大于的移到右边,然后对左右子数组递归进行相同操作,直到排序完成。以JavaScript代码示例演示了如何实现这一过程。
3万+

被折叠的 条评论
为什么被折叠?



