Функция is_sorted
Функция is_sorted из заголовочного файла algorithm
проверяет, является ли заданный диапазон элементов
отсортированным по возрастанию. В первый параметр
мы передаем итератор на начало диапазона, а во второй -
итератор на конец диапазона. Функция возвращает
true, если элементы упорядочены, и false
в противном случае.
Синтаксис
is_sorted(first, last)
is_sorted(first, last, comp)
Пример
Давайте проверим, отсортирован ли вектор
с числами 1, 2, 3, 4, 5:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
bool res = is_sorted(vec.begin(), vec.end());
cout << res << endl;
return 0;
}
Результат выполнения кода:
1
Пример
Давайте проверим вектор, элементы которого
не отсортированы - 3, 1, 2, 5, 4:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> vec = {3, 1, 2, 5, 4};
bool res = is_sorted(vec.begin(), vec.end());
cout << res << endl;
return 0;
}
Результат выполнения кода:
0
Пример
Давайте проверим строки "a", "b", "c", "d", "e"
на отсортированность:
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
vector<string> vec = {"a", "b", "c", "d", "e"};
bool res = is_sorted(vec.begin(), vec.end());
cout << res << endl;
return 0;
}
Результат выполнения кода:
1
Пример
Давайте проверим вектор на сортировку по убыванию,
передав в третий параметр функцию greater:
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
using namespace std;
int main()
{
vector<int> vec = {5, 4, 3, 2, 1};
bool res = is_sorted(vec.begin(), vec.end(), greater<int>());
cout << res << endl;
return 0;
}
Результат выполнения кода:
1
Смотрите также
-
функция
sort,
которая сортирует диапазон элементов -
функция
binary_search,
которая ищет элемент в отсортированном диапазоне -
функция
unique,
которая удаляет соседние дубликаты -
функция
reverse,
которая меняет порядок элементов на обратный