Java. Быстрая сортировка. Реализация алгоритма QuickSort.

preview_player
Показать описание
Как работает быстрая сортировка, разбор и реализация алгоритма.
Рекомендации по теме
Комментарии
Автор

Наконец то все понял, спасибо за комментарии к коду

МаксМелехин-фя
Автор

Спасибо за материал.
Есть вопросы:
1) Зачем сравнивать постоянно длину массива и ноль? Если массив пуст:
if (leftIndex >= rightIndex) и так получим тру, а так каждый раз сравнение с нулём
2) Если leftIndex и rightIndex равны, зачем перестановку. Просто инкремент
if (leftIndex < rightIndex) { оставляем как есть в Вашем варианте
else if (leftIndex == rightIndex) {
leftIndex++;
rightIndex--;

ПавелК-юэ
Автор

while (arr[leftIndex] <= arr[pivot]) {
leftIndex++;
}
А это не смущает, что может улететь в exception превышения длины массива?

chenviy
Автор

базу рекурсии как-бы лучше вначале определять

chenviy
Автор

спасибо за объяснение! но такой вопрос эти условия могут ведь быть одновременно верными if (leftBorder < rightMarker)
quickSort(array, leftBorder, rightMarker);
if (leftMarker < rightBorder)
quickSort(array, leftMarker, rightBorder);?

МарияЛазарева-уе