std::sort
Материал из cppreference.com
| Определён в заголовочном файле <algorithm>
|
||
| template< class RandomIt > void sort( RandomIt first, RandomIt last ); |
(1) | |
| template< class RandomIt, class Compare > void sort( RandomIt first, RandomIt last, Compare comp ); |
(2) | |
Сортировка элементов в диапазоне [first, last) в порядке возрастания. Сохранность порядка элементов, имеющих одинаковое значение, не гарантируется. Для сравнения элементов по-умолчанию используется оператор operator<, но также может быть использована функция сравнения comp.
Содержание |
[править] Параметры
| first, last | — | диапазон элементов, подлежащих сортировке |
| cmp | — | функция сравнения, возвращающая 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.
| ||
[править] Возвращаемое значение
(Нет)
[править] Сложность
O(N·log(N)), где N = std::distance(first, last) применения cmp.
[править] Пример
Запустить этот код
#include <algorithm> #include <functional> #include <array> #include <iostream> #include <iterator> int main() { std::array<int, 10> s{5, 7, 4, 2, 8, 6, 1, 9, 0, 3}; std::sort(s.begin(), s.end()); std::copy(s.begin(), s.end(), std::ostream_iterator<int>(std::cout," ")); std::cout << std::endl; std::sort(s.begin(), s.end(), std::greater<int>()); std::copy(s.begin(), s.end(), std::ostream_iterator<int>(std::cout," ")); std::cout << std::endl; }
Вывод:
0 1 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 1 0
[править] См. также
| сортирует первые N элементов в диапазоне Оригинал: sorts the first N elements of a range Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) | |
| сортирует диапазон элементов при сохранении порядка между равными элементами Оригинал: sorts a range of elements while preserving order between equal elements Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) | |

