c++语言中std::rotate怎么用

2025-10-22 14:56:01

1、基本语法格式:

void rotate(ForwardIterator first, ForwardIterator middle,ForwardIterator last)

该语法表示调换一个序列中子序列[first, middle)与[middle ,last)的位置。

c++语言中std::rotate怎么用

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

#include<algorithm>

c++语言中std::rotate怎么用

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;

}

c++语言中std::rotate怎么用

4、输出结果:

初始为:1 2 3 4 5 6 7 

旋转结果: 3 4 5 6 7 1 2

c++语言中std::rotate怎么用

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;

}

c++语言中std::rotate怎么用

6、输出结果:

初始为:1 2 3 4 5 6 7 

旋转结果: 3 4 5 6 7 1 2

这里需要注意区间的开闭性

c++语言中std::rotate怎么用

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢