1、基本语法格式:void rotate(ForwardIterator first, ForwardIterator middle, ForwardIterator last)该语法表示调换一个序列中子序列[first, middle)与[middle ,last)的位置。
2、注意函数是定义在头文件<algorithm>。故在使用之前要定义头文件:#include<algorithm>
3、vector类型的用法这种类型需要使用内置的迭蜣贺鱿柢代器来确定first,middle和last的位置。具体实例:#include<iostream>#inclu颊俄岿髭de<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这里需要注意区间的开闭性