JavaScript算法之手写快速排序

392 阅读1分钟
var arr = [5, 11, 23, 54, 0, 22, 12, 43, 9];

function quickSort(arr){
    if(arr.length <= 1) {
        return arr
    };
    var mNumIndex = Math.floor(arr.length/2);
    var mNum = arr.splice([mNumIndex], 1)[0];
    var left = [];
    var right = [];
    for (var i = 0; i < arr.length; i++){
        if (arr[i] < mNum){
            left.push(arr[i])
        }else {
            right.push(arr[i])
        };
    };
    return quickSort(left).concat([mNum], quickSort(right));
}
console.log(quickSort(arr));