Что я получаю неправильно в этом случае быстрой сортировки?

#sorting

#сортировка

Вопрос:

Привет, я кодирую quicksort atm. Я делаю последний элемент в массиве своим стержнем. Конкретный случай: [7,6,8] 8 будет стержнем, 7 — низким, а 6 — высоким. Поскольку 7 < 8 low увеличивается на 1. Но теперь низкие и высокие значения одинаковы. Таким образом, 6 переключается на 8, что приведет к созданию массива [7,8,6]. Но это должно быть [6,7,8] очевидно.

Что я забыл реализовать?

Комментарии:

1. Следуйте этому: geeksforgeeks.org/quick-sort По сути, 7 и 8 не должны переключаться. Вы должны еще раз увеличить высоту и, таким образом, «поменять местами» 8 с самим собой (чтобы он оставался на месте)

Ответ №1:

Понял это, в основном пришлось добавить, что делать с этим сценарием, когда нижний указатель переходит в верхний указатель без изменения верхнего указателя.