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

Posted zhangyongxi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组排序-----2.快速排序(递归)相关的知识,希望对你有一定的参考价值。

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

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.快速排序(递归)的主要内容,如果未能解决你的问题,请参考以下文章

使用递归实现一个数组的快速排序

快速排序算法

排序算法

排序算法杂谈 —— 关于快速排序的优化策略分析

PHP快速排序算法

php实现快速排序