std :: reverse_copy в C ++ STL

Опубликовано: 31 Декабря, 2021

C ++ STL предоставляет функцию, которая копирует элементы из заданного диапазона, но в обратном порядке. Ниже приведена простая программа, демонстрирующая работу reverse_copy ().

Примеры:

Ввод: 1 2 3 4 5 6 7 8 9 10
Выход: вектор: 
10 9 8 7 6 5 4 3 2 1

Функция принимает три параметра. Первые два - это диапазон элементов, которые должны быть скопированы, а третий параметр - это отправная точка, откуда элементы должны быть скопированы в обратном порядке.

// C++ program to copy from array to vector
// using reverse_copy() in STL.
#include <bits/stdc++.h>
using namespace std;
int main()
{
int src[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int n = sizeof (src) / sizeof (src[0]);
vector< int > dest(n);
reverse_copy(src, src + n, dest.begin());
cout << "The vector is: " ;
for ( int x : dest) {
cout << x << " " ;
}
return 0;
}
Выход:
Вектор: 
10 9 8 7 6 5 4 3 2 1

Ниже приведен пример копирования из вектора в вектор.

// C++ program to copy from array to vector
// using reverse_copy() in STL.
#include <bits/stdc++.h>
using namespace std;
int main()
{
vector< int > src { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
vector< int > dest(src.size());
reverse_copy(src.begin(), src.end(), dest.begin());
cout << "The vector is: " ;
for ( int x : dest) {
cout << x << " " ;
}
return 0;
}
Выход:
Вектор: 
10 9 8 7 6 5 4 3 2 1
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .



C++