c++语言中std::rotate怎么用
1、基本语法格式:
void rotate(ForwardIterator first, ForwardIterator middle,ForwardIterator last)
该语法表示调换一个序列中子序列[first, middle)与[middle ,last)的位置。

2、注意函数是定义在头文件<algorithm>。故在使用之前要定义头文件:
#include<algorithm>

3、vector类型的用法
这种类型需要使用内置的迭代器来确定first,middle和last的位置。
具体实例:
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
vector<int >v={1,2,3,4,5,6,7};
cout<<"old vector"<<" ";
for (auto x : v)
cout<<x<<" ";
cout<<endl;
rotate(v.begin(),v.begin()+2,v.end());
cout<<"New vector ";
for (int i=0;i<v.size();i++)
cout<<v[i]<<" ";
cout<<endl;
}

4、输出结果:
初始为:1 2 3 4 5 6 7
旋转结果: 3 4 5 6 7 1 2

5、数组的用法:
具体看实例
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int a[]={1,2,3,4,5,6,7};
cout<<"old array ";
for (int i=0;i<7;i++)
cout<<a[i]<<" ";
cout<<endl;
rotate(a,a+2,a+7);
cout<<"NEW array ";
for (int i=0;i<7;i++)
cout<<a[i]<<" ";
cout<<endl;
}

6、输出结果:
初始为:1 2 3 4 5 6 7
旋转结果: 3 4 5 6 7 1 2
这里需要注意区间的开闭性
