六行核心代码搞定快速排序(js版)

126 阅读1分钟

function quickSort(arr){
    if(!Array.isArray(arr)){
        return;    
    }    
    if(arr.length<=1) return arr;    
    let left=[],right=[];    
    const pivotIndex = Math.floor(arr.length/2);    
    const pivot=arr.splice(pivotIndex,1)[0];    
    arr.forEach(item => item<pivot ? left.push(item) : right.push(item));    
    return quickSort(left).concat(pivot,quickSort(right))
}

arr = [2,5,3,8,6,1,90,5,7,4];
console.log(quickSort(arr));