Попытка использовать быстрый выбор вручную - PullRequest
0 голосов
/ 29 мая 2019

У меня есть подмассив {8,9,7}.Предположим, что выбрана сводная точка 8. Запуск Quickselect для этого массива вызывает некоторые проблемы.Таким образом, левый указатель начинается слева, ища элементы больше 8, которые он находит 9. Правый указатель начинает справа, ища элементы меньше 8, он находит 7. 7 и 9 мест обмена.{8,7,9} теперь левый указатель снова находит 9, а правый указатель находит 7. Но теперь они пересеклись, поэтому мы не выполняем этот обмен.Вместо этого левый указатель поменяется местами с поворотной точкой, создающей массив {9,7,8}, но это не очень хорошо, так как меньшие элементы теперь не слева от сводной области.Так что я сделал не так?

...