function getp(arr) {
// 获取区分点
const len = arr.length
const pIndex = ~~(len / 2)
return arr.splice(pIndex, 1)[0]
}
function quickSort(arr) {
const len = arr.length
if (len <= 1) return arr
const p = getp(arr)
const left = []
const right = []
arr.forEach(item => {
(item < p ? left : right).push(item)
})
return quickSort(left).concat(p, quickSort(right))
}






网友评论