Функция sort
Функция sort сортирует элементы диапазона
в порядке возрастания. В первый параметр мы
передаем итератор на начало диапазона, а во
второй - итератор на конец диапазона. Третьим
необязательным параметром можно передать
функцию сравнения, которая задаст собственный
порядок сортировки.
Синтаксис
sort(first, last)
sort(first, last, comp)
Пример
Давайте отсортируем вектор из чисел
5, 3, 1, 4, 2
в порядке возрастания:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> vec = {5, 3, 1, 4, 2};
sort(vec.begin(), vec.end());
for (int el : vec) {
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 2 3 4 5
Пример
Давайте отсортируем вектор из строк
"abcde", "bcde", "cde",
"de", "e" в алфавитном порядке:
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
vector<string> vec = {"abcde", "bcde", "cde", "de", "e"};
sort(vec.begin(), vec.end());
for (string el : vec) {
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
"abcde" "bcde" "cde" "de" "e"
Пример
Давайте отсортируем вектор из чисел
5, 3, 1, 4, 2
в порядке убывания, передав функцию сравнения
третьим параметром:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool compare(int a, int b)
{
return a > b;
}
int main()
{
vector<int> vec = {5, 3, 1, 4, 2};
sort(vec.begin(), vec.end(), compare);
for (int el : vec) {
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
5 4 3 2 1
Смотрите также
-
функция
stable_sort,
которая сортирует элементы с сохранением порядка равных -
функция
partial_sort,
которая сортирует часть диапазона -
функция
is_sorted,
которая проверяет, отсортирован ли диапазон -
функция
nth_element,
которая ставит n-й элемент на своё место