std::sort
Материал из cppreference.com
![]() |
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google.
Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке. Щёлкните здесь, чтобы увидеть английскую версию этой страницы |
Определено в заголовочном файле <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
.Оригинал:
Sorts the elements in the range
[first, last)
in ascending order. The order of equal elements is not guaranteed to be preserved. The first version uses operator< to compare the elements, the second version uses the given comparison function comp
.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Содержание |
[править] Параметры
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 .
|
[править] Возвращаемое значение
(Нет)
[править] Сложность
O(N·log(N)), где N = std::distance(first, last) применения
cmp
.Оригинал:
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Пример
Запустить этот код
#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. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) |