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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。