Вот код quicksort, который я написал. Функция не работает, потому что она не может попасть в базовый регистр. Если я зарегистрирую стержень, r
и l
на консоли, они остаются теми же, независимо от того, сколько раз вызывается функция сортировки. Поэтому я задаюсь вопросом, действительно ли аргумент l
, r
не передается в функцию как данные. Почему это произошло?
function sort(data){
if(data.length < 2){
return data;
}
else{
var l = [];
var r = [];
var pivot = parseInt(data.length/2);
for(i=0; i<data.length; i++){
if(data[i] > data[pivot]){
r.push(data[i]);
}
else{
l.push(data[i]);
}
}
return sort(l).concat(sort(r));
}
}