To jest stara wersja strony!
#include <algorithm>
template<class RandomAccessIterator> void partial_sort(RandomAccessIterator first, RandomAccessIterator middle, RandomAccessIterator last); template<class RandomAccessIterator, class Compare> void partial_sort(RandomAccessIterator first, RandomAccessIterator middle, RandomAccessIterator last, Compare comp);
RandomAccessIterator first
Iterator wskazujący na początek zakresu częściowego sortowania w kolekcji.
RandomAccessIterator middle
Iterator wskazujący, ile elementów przed nim ma być posortowane.
RandomAccessIterator last
Iterator wskazujący na koniec zakresu częściowego sortowania w kolekcji.
Compare comp
Zewnętrzna funkcja lub funktor, służąca do porównywania elementów w kolekcji.
Brak.
Przemieszcza elementy w kolekcji w zakresie [first, last) tak, że w zakresie [first, middle) zawiera najmniejsze elementy z całego zakresu sortowania kolekcji, a w zakresie [middle, last) znajdują się pozostałe, nieuporządkowane elementy.
Do porównywania obiektów w kolekcji funkcja wykorzystuje albo zdefiniowany dla obiektu operator mniejszości w pierwszej wersji funkcji, albo zewnętrzną funkcję/funktor porównujący w wersji drugiej.
Do sortowania elementów wykorzystano algorytm heapsort, więc jego złożoność można oszacować wg poniższego wzoru:
O = (last - start)\cdot log(middle - start)