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 RandomItmust meet the requirements ofMoveAssignableandMoveConstructible. | ||
[править] Возвращаемое значение
(Нет)
[править] Сложность
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. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) | |
| сортирует диапазон в порядке возрастания (шаблон функции) | |


