📅  最后修改于: 2023-12-03 15:13:55.363000             🧑  作者: Mango
在C++标准库的STL中, algorithm.rotate_copy()函数是用于将一个序列的一部分旋转并复制到另一个序列中的函数。它是一个通用的函数,可以用于操作大多数STL容器的迭代器,例如向量、数组和普通数组。
函数使用的原型如下:
OutputIterator rotate_copy( InputIterator first, InputIterator middle, InputIterator last,
OutputIterator result );
参数:
返回类型为输出序列的末尾迭代器。
以下是rotate_copy()函数的示例:
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<int> v{ 1, 2, 3, 4, 5 };
vector<int> v2( v.size() );
auto it = rotate_copy( v.begin(), v.begin() + 2, v.end(), v2.begin() );
for( auto& i : v2 ) cout << i << ' ';
cout << '\n';
return 0;
}
输出结果为:
3 4 5 1 2
此示例将v中[first, middle)的区间旋转到[middle, last),并将结果存储在v2中。请注意,v2是一个与v相同的大小的向量。