码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-09-01 12:36:54      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:var   log   递归   quic   ons   快速   quicksort   fun   pre   

/*
* 先去找数组中间一项,把这一项拿出来; 用拿出之后的数组中的每一项跟 拿出的这一项比较;比这项大的放到一个数组; 小的放到另外一个数组
* 接着对着两个数组做上述同样的操作;
* */

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.快速排序(递归)

标签:var   log   递归   quic   ons   快速   quicksort   fun   pre   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!