繁体   English   中英

QuickSort:“InternalError:太多的递归”

[英]QuickSort: “InternalError: too much recursion”

我尝试在JAVASCRIPT中以递归方式实现Quicksort算法

我试图在划分枢轴之后创建两个单独的数组,
如下所示

var list = [2,4,3,6,3,6,4,1,7,9,6,8,5,3];
function qsort(arr) {
    if (arr.length>1) {
    var pivot = arr[0];
    var larr = [];
    var rarr = [];
    arr.forEach(function(x) {(pivot>=x)?(larr.push(x)):(rarr.push(x))});
    return qsort(larr).push(pivot).concat(qsort(rarr));
    }
    else {return arr}
}

当我尝试执行代码时,它给出了错误
InternalError: too much recursion是算法中存在错误还是只是系统无法实现,
我想如果它可以用单独的数组方法纠正,因为它看起来很优雅。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM