快速排序
//快速排序
var arr=[10,66,3,64,2,98];
function fn(arr){
//取中间值
var index=arr.length%2 == 0? arr.length/2:(arr.length+1)/2;
var mid=arr[index];
var left=[];
var right=[];
if(arr.length<2){
return arr;
}
for(var i=0;i<arr.length;i++){
if(index!=i&&arr[i]<mid){
left.push(arr[i]);
}
}
for(var i=0;i<arr.length;i++){
if(index!=i&&arr[i]>=mid){
right.push(arr[i]);
}
}
return fn(left).concat(mid).concat(fn(right));
}
console.log(fn(arr));