首页 > 编程语言 > 详细

数组排序-----2.快速排序(递归)

时间:2018-09-01 10:54:24      阅读:187      评论:0      收藏:0      [点我收藏+]
/*
* 先去找数组中间一项,把这一项拿出来; 用拿出之后的数组中的每一项跟 拿出的这一项比较;比这项大的放到一个数组; 小的放到另外一个数组
* 接着对着两个数组做上述同样的操作;
* */

function quickSort(ary) {
if(ary.length <=1){
return ary
};
var n = parseInt(ary.length/2);
var cur = ary.splice(n,1)[0];
var left = [],right = [];
for(var i = 0; i < ary.length; i++){
if(ary[i] < cur){
left.push(ary[i])
}else {
right.push(ary[i])
}
}
return quickSort(left).concat(cur,quickSort(right));
}

var ary1 = [5,3,7,2,8,4,2];
var temp = quickSort(ary1);
console.log(temp);

数组排序-----2.快速排序(递归)

原文:https://www.cnblogs.com/zhangyongxi/p/9569333.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!