| default (1) | template <class InputIterator, class RandomAccessIterator>
RandomAccessIterator
partial_sort_copy (InputIterator first,InputIterator last,
RandomAccessIterator result_first,
RandomAccessIterator result_last);
|
|---|---|
| custom (2) | template <class InputIterator, class RandomAccessIterator, class Compare>
RandomAccessIterator
partial_sort_copy (InputIterator first,InputIterator last,
RandomAccessIterator result_first,
RandomAccessIterator result_last, Compare comp); |
[first,last) to [result_first,result_last), sorting the elements copied. The number of elements copied is the same as the distance between result_first and result_last (unless this is more than the amount of elements in [first,last)).[first,last) is not modified.operator< for the first version, and comp for the second.[first,last), which contains all the elements between first and last, including the element pointed by first but not the element pointed by last.[result_first,result_last).bool. The value returned indicates whether the element passed as first argument is considered to go before the second in the specific strict weak ordering it defines. |
|
myvector contains: 1 2 3 4 5 |
N*log(min(N,M)) comparisons of elements (where N is this distance, and M is the distance between result_first and result_last). It also performs up to that many element swaps (or moves) and min(N,M) assignments between ranges.[first,last) are modified.