nth_element
Материал из cppreference.com
Синтаксис:
#include <algorithm> void nth_element( random_access_iterator start, random_access_iterator nth, random_access_iterator end ); void nth_element( random_access_iterator start, random_access_iterator nth, random_access_iterator end, StrictWeakOrdering cmp );
Функция nth_element() производит частичную сортировку диапазона [start,end). Она ставит элемент диапазона в n-ую позицию, в которой он должен бы был стоять, если бы весь диапазон был отсортирован. Так же функция гарантирует, что в диапазоне нет ни одного элемента до элемента в n-ой позиции, являющегося больше его, и нет ни одного элемента после n-ой позиции, являющегося меньше его.
nth_element() работает за линейное время в среднем.
Смотрите также: partial_sort