C++ STL提供了一个函数,该函数可以复制给定范围内的元素,但顺序相反。下面是一个简单的程序,显示reverse_copy()的工作。
例子:
Input:1 2 3 4 5 6 7 8 9 10 Output:The vector is: 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:\n";
for (int x:dest) {
cout << x << " ";
}
return 0;
}
输出:
The vector is: 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:\n";
for (int x:dest) {
cout << x << " ";
}
return 0;
}
输出:
The vector is: 10 9 8 7 6 5 4 3 2 1
相关用法
注:本文由纯净天空筛选整理自Prateek Sharma 7大神的英文原创作品 std :: reverse_copy in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。