快速排序(JavaScript版)

242 阅读1分钟
function quickSort(arr) {
    if (arr.length < 2)
        return arr
    
    let [first, ...rest] = arr
    let left  = []
    let right = []

    for (let i = 0; i < rest.length; ++i) {
        if (rest[i] < first)
            left.push(rest[i])
        else
            right.push(rest[i])
    }

    return [...quickSort(left), first, ...quickSort(right)]
}