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

快速排序

时间:2017-03-01 00:15:54      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:mat   组合   log   intval   数组   function   排序   concat   console   

<script type="text/javascript" >

function quickSort(ary) {
// 找到基准点的索引
if(ary.length<=1){
return ary ;
}
var pointIndex = Math.floor(ary.length/2);
// 通过基准点的索引在原来的数组中,删除这一项,并把基准点这一项的值获取到
var pointValue = ary.splice(pointIndex,1)[0];
var left=[];
var right=[];
for(var i=0;i<ary.length;i++) {
var cur = ary[i];
cur < pointValue ? left.push(cur) : right.push(cur);
}
//重新把 左中右 组合到一起
return quickSort(left).concat([pointValue],quickSort(right));

}
var ary = [12,13,23,14,20,26,34,13,16];
var res = quickSort(ary);
console.log(res);
</script>

快速排序

标签:mat   组合   log   intval   数组   function   排序   concat   console   

原文地址:http://www.cnblogs.com/zzzzzzzsy/p/6481724.html

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