Так что у меня этот массив {3,1,4,1,5,9,2,6,5,3,5}
Quicksorting практика целочисленного массива
Я использую медианы из-три способа, чтобы получить шарниры.
В этом случае медиана здесь находится между левым, средним, правым: 3,9,5. Так что это 5
Первое, что я делаю, это убедиться, что стержень находится слева. Теперь я сохраняю числа меньше 5 в левой части и перемещаю числа, большие в правую часть массива. Конечный результат: {3,1,4,1,2,3|5|5,9,6,5}
Теперь quicksort левый и правый подмассивы.
{3,1,4,1,2,3}
имеет средний 3 и после перегруппировки я {1,1,2,3,4}
{5,9,6,5}
имеет средний 5 и я получаю {5,5,9,6}
в результате сортировки равноправные и большее число справа. Но этот подвариант не похож на первый подмассива. Это будет работать только в том случае, если медиана равна 6. Итак, где же это случилось? Благодарю.
Вы выполняетесь только в том случае, если размер подмассива равен 1. Вы можете не останавливаться после произвольного количества итераций. –
Итак, вы говорите, что вам нужно продолжать переупорядочивать числа с меньшим значением в левом и большем значениях справа, пока размеры подмашины не станут равны 1 каждый? – btrballin
Да, вам нужно сортировать подмассивы рекурсивно. –