当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ std::reverse_copy用法及代码示例


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。