快速排序


另一种更方便的:

var arr = [1,2,6,3,4,2,90,0,3]

function quickArr(arr){
  var left = [],right = [];
  if(arr.length<=1){
    return arr;
   }
  var pIndex = Math.floor(arr.length/2);
//splice返回的是一个数组 splice改变原数组
//把p从原数组里剔除出去
//作为比较的基准值
  var p =arr.splice(pIndex,1)[0]
  for(var i = 0; i< arr.length; i++){
    if(arr[i] <=p){
    left.push(arr[i])
    }else{
      right.push(arr[i]);
    }
//返回排序后的新数组
   return quickArr(left).concat([p], quickArr(right))
}

你可能感兴趣的:(快速排序)