javascript实现快速排序

/**
* Created by kaer on 2017/4/30.
*/

//思路:
//1.取数组第一个值作为基值,比此值大的放在后面一个数组中,比此值小的放在另一个数组中
//2.再将这两个数组重复相同的动作
var arr = [];
function fast(a){
var first = a[0];
var preArr = [];
var nextArr = [];
var len = a.length;

for(var i = 1;i<len;i++){ //从第二项开始
if(first > a[i]){
preArr.push(a[i]);
}
else{
nextArr.push(a[i]);
}
}

if(preArr.length > 0){
fast(preArr);
}
//console.log(first);
arr.push(first);
if(nextArr.length > 0)
{
fast(nextArr);
}
}


fast([3,2,1,4,6,5]);
console.log(arr);
posted @ 2017-04-30 12:55  江湖一支竹  阅读(192)  评论(0编辑  收藏  举报