请问对于快速排序来说,在递归时是否需要加入if(arr.length ===0) return arr; 我在本地测试的时候出现了对空数组的无限递归
来源:11-6 JavaScript 实现:快速排序

weixin_慕盖茨5300854
2020-07-02
Array.prototype.quickSort = function () {
const rec = (arr) => {
//对空数组进行检验
if (arr.length === 0) return arr
if (arr.length === 1) return arr
const small = []
const big = []
const mid = arr[0]
for (let i = 1; i < arr.length; i++) {
if (arr[i] < mid) {
small.push(arr[i])
} else {
big.push(arr[i])
}
}
return [...rec(small), mid, ...rec(big)]
}
const res = rec(this)
res.forEach((item, index) => this[index] = item)
}
写回答
1回答
-
lewis
2020-07-02
需要加的。
112021-02-24
相似问题