js快速排序方法
2016-06-06 10:37 改吧 阅读(373) 评论(0) 编辑 收藏 举报function quickSort(arr){
if(arr.length<=1){
return arr;
}
var arrIndex=Math.floor(arr.length/2);
var x=arr.splice(arrIndex,1)[0];
var left=[];
var right=[];
for(var i=0;i<arr.length;i++){
if(arr[i]<x){
left.push(arr[i]);
}
else{
right.push(arr[i]);
}
}
return quickSort(left).concat([x],quickSort(right));
}
思想:从数列中挑出一个元素,称为基准;
重新排序数列,所有小于基准的放在左边,所有大于基准的放在右边,这个分区结束之后该基准处于数列的中间位置,
递归操作