关键词:快速排序
步骤:
1.找基准(一般是以中间项为基准)
2.遍历数组,小于基准的放在left,大于基准的放在right
3.递归
function quickSort(arr){
//如果数组长度<=1,则直接返回
if(arr.length <= 1){
return arr;
}
var num = Math.floor(arr.length/2);
//找基准
var numValue = arr.splice(num,1);
var left = [];
var right = [];
// 遍历数组
for(var i = 0;i<arr.length;i++){
if(arr[i] <= numValue){
left.push(arr[i]);
}else{
right.push(arr[i]);
}
}
// 递归
return quickSort(left).concat([numValue],quickSort(right));
}
var a = quickSort([12,99,347,883,995,352,663]);
alert(a);
网友评论