Изменения

Перейти к: навигация, поиск

Быстрая сортировка

99 байт убрано, 10:13, 17 июня 2016
Улучшенная быстрая сортировка
'''const int''' M = 10
'''void''' quicksort(a: '''T'''[n], '''int''' l, '''int''' r)
'''if''' (r - 1 l <tex> \leqslant </tex> M) '''return'''insertion(a, l, r)
'''int''' med = median(a[l], a[(l + r) / 2], a[r])
swap(a[med], a[r - 1])
quicksort(a, i + 1, r)
'''void''' hybridsort(a: '''T'''[n], '''int''' l, '''int''' r) quicksort(a, l, r) insertion(a, l, r)
Вообще, можно применять любые эвристики по выбору опорного элемента. Например, в стандартной реализации в Java в качестве разделяющего выбирается средний из 7 элементов, равномерно распределённых по массиву.
Анонимный участник

Навигация