Быстрая сортировка: «InternalError: слишком много рекурсии» - PullRequest
0 голосов
/ 14 апреля 2019

Я попытался рекурсивно реализовать алгоритм Quicksort в JAVASCRIPT

Я попытался создать два отдельных массива после деления по оси,
, как показано ниже

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 есть ли сбой в алгоритме или просто неспособность системы,
Я хотел бы, если бы это можно было исправить с помощью метода отдельного массива, так каккажется элегантным.

...