js快速排序

2016-11-01  本文已影响0人  TsingXu

首先了解什么是快速排序。

1、找到一个基准值(一般是中间位)
2、然后将数组的值与基准值比较,分为两个数组(比基准值小的,比基准值大的)
3、然后对这两个数组再排序,循环。


var arr = [1,3,4,8,2,0,9,11,5];
console.log(quickSort(arr));

function quickSort(arr){

    if(arr.length <= 1) return arr;
    var index = Math.floor(arr.length/2);
    var key = arr.splice(index,1)[0];
    var left = [], right = [];
    for(var i=0;i<arr.length;i++){

        arr[i]<key?left.push(arr[i]):right.push(arr[i]);
    }
    return quickSort(left).concat([key],quickSort(right));
}

上一篇下一篇

猜你喜欢

热点阅读