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