1. 程式人生 > >js快速排序方法

js快速排序方法

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));

}

思想:從數列中挑出一個元素,稱為基準;

    重新排序數列,所有小於基準的放在左邊,所有大於基準的放在右邊,這個分割槽結束之後該基準處於數列的中間位置,

    遞迴操作


更多專業前端知識,請上 【猿204