一、快速排序
定一个基准,把小于基准的放在左边,大于基准的放在右边。如此循环,直到有序。
var quickSort = function(arr){
if (arr.length<=1){
return arr;
}
var pivotIndex = Math.floor(arr.length/2);//找到中心点
var pivot = arr.splice(pivotIndex,1)[0];//获取基准点
var left= [];//定义左边数组
var right= [];//定义右边数组
for(var i=0;i<arr.length;i++){
if(arr[i]<pivot){
left.push(arr[i]);//小于基准点的放在左边
}else{
right.push(arr[i]);//大于基准点的放在右边
}
}
return quickSort(left).concat([pivot],quickSort(right));//使用递归重复这个过程
};
网友评论