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

 时间:2026-05-01 18:39:28

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怎么用

  • Can't set attribute错误怎么办?
  • 考研成绩查询时显示密码错误的处理方法
  • 22K金是什么?它有哪些特性和优势?
  • EDS与EDX有什么区别
  • 浙里办怎样查询殡仪馆信息
  • 热门搜索
    慈禧的秘密生活在线观看 如何做课件 长安v7怎么样 coo是什么职位 k3怎么样 kg是什么意思 梦见蛇是什么预兆 宫颈糜烂如何治疗 皮肤黑的人怎么变白 作文生活需要微笑