js 快速排序

快速排序:摘除数组中的一项,以此为基准,将剩余的数组项和此项比较大小分成两部分(left和right),然后递归执行left和right,将left,基准和right合并,直到数组只有1项或者0项时,返回数组。

代码如下:

var arr=[4,2,7,5,6,0,8];
var quickSort=function(arr){
    if(arr.length<=1) return arr;
    //着基准,第一个
    var flag=arr.splice(0,1)[0];
    var left=[],right=[];
    for(var i=0;i<arr.length;i++){
        if(arr[i]<flag)
            left.push(arr[i])
        else
            right.push(arr[i])
    }
    return quickSort(left).concat(flag,quickSort(right));
}
console.log(quickSort(arr));
原文地址:https://www.cnblogs.com/xingguozhiming/p/9775884.html