C++ STL std::rotate_copy() 函数
rotate_copy() 函数是算法头的库函数,用于在给定范围内将一个序列的元素向左旋转,并将旋转的元素复制到另一个序列中,它接受输入序列的范围(开始,结束),中间点,以及一个指向结果序列起始元素的迭代器。它以中间迭代器指向的元素成为新的第一个元素的方式旋转元素。
注意:使用 rotate_copy() 函数 - 包括<algorithm>
标题或者您可以简单使用<bits/stdc++.h>
头文件。
std::rotate_copy() 函数的语法
std::rotate_copy( iterator start, iterator middle, iterator end, iterator start_result);
参数:
iterator start
- 指向序列第一个元素的迭代器。iterator middle
- 一个迭代器,指向我们想要开始旋转的中间或任何其他元素。iterator end
- 指向序列最后一个元素的迭代器。iterator start_result
- 指向结果序列中第一个元素的迭代器。
返回值: void
- 它返回注意。
例:
Input: //an array (source) int arr[] = { 10, 20, 30, 40, 50 }; //vector vector<int> v(5); //rotating and copy array elements to the vector rotate_copy(arr + 0, arr + 2, arr + 5, v.begin()); Output: vector elements:30 40 50 10 20
用于演示 std::rotate_copy() 函数使用的 C++ STL 程序
在这个程序中,我们有一个数组和一个向量;我们从第二个索引旋转它的元素并复制到向量中。
//C++ STL program to demonstrate use of
//std::rotate_copy() function
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
//main code
int main()
{
//an array (source)
int arr[] = { 10, 20, 30, 40, 50 };
//vector
vector<int> v(5);
//printing array and vector elements
cout << "array elements..." << endl;
for (int x:arr)
cout << x << " ";
cout << endl;
cout << "vector elements begfore rotating..." << endl;
for (int x:v)
cout << x << " ";
cout << endl;
//rotating and copy array elements to the vector
rotate_copy(arr + 0, arr + 2, arr + 5, v.begin());
cout << "vector elements after rotating..." << endl;
for (int x:v)
cout << x << " ";
cout << endl;
return 0;
}
输出
array elements... 10 20 30 40 50 vector elements begfore rotating... 0 0 0 0 0 vector elements after rotating... 30 40 50 10 20
参考:C++ std::rotate_copy()
相关用法
- C++ std::rotate()用法及代码示例
- C++ std::rank用法及代码示例
- C++ std::reverse()用法及代码示例
- C++ std::replace_if()用法及代码示例
- C++ std::replace_copy_if()用法及代码示例
- C++ std::replace_copy()用法及代码示例
- C++ std::replace()用法及代码示例
- C++ std::remove_cv用法及代码示例
- C++ std::remove_const用法及代码示例
- C++ std::remove_volatile用法及代码示例
- C++ std::reverse_copy用法及代码示例
- C++ std::max()用法及代码示例
- C++ std::string::push_back()用法及代码示例
- C++ std::less_equal用法及代码示例
- C++ std::is_member_object_pointer模板用法及代码示例
- C++ std::copy_n()用法及代码示例
- C++ std::string::insert()用法及代码示例
- C++ std::is_sorted_until用法及代码示例
- C++ std::iota用法及代码示例
- C++ std::numeric_limits::digits用法及代码示例
注:本文由纯净天空筛选整理自 std::rotate_copy() function with example in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。