std::partial_sort
| 
   | 
  Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. 
 Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке. Щёлкните здесь, чтобы увидеть английскую версию этой страницы  | 
|   Определено в заголовочном файле <algorithm>
   | 
||
|   template< class RandomIt > void partial_sort( RandomIt first, RandomIt middle, RandomIt last );  | 
(1) | |
|   template< class RandomIt, class Compare > void partial_sort( RandomIt first, RandomIt middle, RandomIt last, Compare comp );  | 
(2) | |
Сортирует часть элементов в диапазоне [first, last) в порядке возрастания. Первые middle - first отсортированные элементы находятся в диапазоне [first, middle). Не гарантируется сохранение порядка равных элементов. Порядок элементов в диапазоне [middle, last) не определен. Первый вариант использует operator< для сравнения элементов, вторая версия использует переданную функцию сравнения comp.
Содержание | 
[править] Параметры
| first, last | - |    диапазон элементов для сортировки 
Оригинал:  the range of elements to sort Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.  | 
| comp | - |   функция сравнения, возвращающая true если первый аргумент меньше второго.  Сигнатура функции сравнения должна быть эквивалентна следующей: bool cmp(const Type1 &a, const Type2 &b); Сигнатура на обязана содержать const &, однако, функция на может изменять переданные объекты.  | 
| Требования к типам | ||
 -RandomIt должен соответствовать требованиям ValueSwappable и RandomAccessIterator.
 | ||
 -The type of dereferenced RandomIt must meet the requirements of MoveAssignable and MoveConstructible.
 | ||
[править] Возвращаемое значение
(Нет)
[править] Сложность
cmp. Если дополнительная память недоступна, то сложность O(N·log(N))cmp. If additional memory is available, then the complexity is O(N·log(N))Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Пример
#include <algorithm> #include <functional> #include <array> #include <iostream> int main() { std::array<int, 10> s{5, 7, 4, 2, 8, 6, 1, 9, 0, 3}; std::partial_sort(s.begin(), s.begin() + 3, s.end()); for (int a : s) { std::cout << a << " "; } }
Вывод:
0 1 2 7 8 6 5 9 4 3
[править] См. также
|     копии и частично виды диапазон элементов   Оригинал:  copies and partially sorts a range of elements  Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции)  | |
|     виды диапазон элементов при сохранении порядка между равными элементами   Оригинал:  sorts a range of elements while preserving order between equal elements  Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции)  | |
|    сортирует диапазон в порядке возрастания   (шаблон функции)  | |