Задать вопрос

Как написать алгорит быстрой сортировки на js?

Добрый день, пытаюсь реализовать алгоритм быстрой сортировки на js . Но при выполнении выдаёт базовый случий ,то есть [0] .
Дальше не выполняется, Где я допустил ошибку(и)
Заранее спасибо =)
function quicksort(array) {
     
 var pivot = array[0];
       var lass = [];
       var greater = [];
       var i;
       
    if (array.length < 2) {
        return array;    // базовый случай
    } else { 
         if (i  <= pivot) {
         for( i = 0; i <= arr.length; i++ ) {
          lass.push[i];
         }
         return lass;
        } 
        if (i  > pivot) {
         for( i = 0; i <= arr.length; i++ ) {
          greater.push[i];
         }
         return greater;
        }   
    } 

    return quicksort(lass) + [pivot] + quicksort(greater);
};
console.log(lass);
console.log(greater);
quicksort([10,5,2,3]);
  • Вопрос задан
  • 961 просмотр
Подписаться 1 Средний 2 комментария
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
KickeRocK
@KickeRocK
FrontFinish
странноватый код
в конце у вас вывод
...
    return quicksort(lass) + [pivot] + quicksort(greater);

quicksort(lass) = [] + [] + [];
[pivot] = первый элемент входного массива.
quicksort(greater) = [] + [] + [];
[] + 10 + [] = 10;
и зачем вы i сначала задаёте?
Еще else if() есть.
И, судя по всему, вы не понимаете смысл "быстрой" сортировки.
pivot - это не первое значение, а самое "удобное" относительно которого будут перекидываться элементы.
Здесь неплохо расписано.
Напишите пузырёк, для начала.
П.с. Jquery из тэгов уберите.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы