使用递归调用仍然很困难。 我的函数超出了最大调用堆栈。有什么帮助吗?
function quickSort(arr) {
let n = arr[arr.length-1];
const inf = [];
const sup = [];
for(let i = 0; i<arr.length; i++){
if(arr[i]<= n){inf.push(arr[i])}
else(sup.push(arr[i]));
}
if(inf.length === 1 && sup.length === 1){
return inf.concat(sup)
}else if(inf.length === 1 && sup.length > 1){
quickSort(sup);
return inf.concat(sup)
}else if(inf.length > 1 && sup.length === 1){
quickSort(inf);
return inf.concat(sup)
}else{
quickSort(inf);
quickSort(sup);
return inf.concat(sup)
}
}
谢谢。