Функция reverse
Функция reverse изменяет порядок элементов
в диапазоне на противоположный. Первым параметром
функция принимает итератор на начало диапазона,
а вторым - итератор на конец диапазона. Сами
элементы при этом не копируются, а меняются
местами внутри контейнера.
Синтаксис
reverse(first, last)
Пример
Давайте перевернём вектор из 5 чисел:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
reverse(vec.begin(), vec.end());
for (int el : vec) {
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
5 4 3 2 1
Пример
Давайте перевернём только часть вектора, начиная со второго элемента и заканчивая четвёртым:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
reverse(vec.begin() + 1, vec.begin() + 4);
for (int el : vec) {
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 4 3 2 5
Пример
Давайте перевернём строку:
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string str = "abcde";
reverse(str.begin(), str.end());
cout << str << endl;
return 0;
}
Результат выполнения кода:
"edcba"
Смотрите также
-
функция
rotate,
которая выполняет циклический сдвиг элементов -
функция
copy,
которая копирует элементы диапазона -
функция
copy_backward,
которая копирует элементы в обратном порядке -
функция
swap,
которая обменивает значения двух объектов