
1、分区,从数组中选择一个基准,所有比基准小的元素都放在基准前面,比基准大的元素放在基准后面。
2、递归,递归地对基准前后的子树组进行分区。
实例
Array.prototype.quickSort=function(){
constrec=(arr)=>{
if(arr.length===1){
returnarr;
}
constleft=[];
constright=[];
constmid=arr[0];
for(leti=1;i<arr.length;i+=1){
if(arr[i]<mid){
left.push(arr[i]);
}else{
right.push(arr[i]);
}
}
return[...rec(left),mid,...rec(right)];
};
constres=rec(this);
res.forEach((n,i)=>{
this[i]=n;
});
};
constarr=[2,4,5,3,1];
arr.quickSort();
以上就是js中快速排序的实现,希望对大家有所帮助。更多js学习指路:js教程
原文来自:https://www.py.cn© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END



















































暂无评论内容