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

 时间:2026-02-14 05:14:39

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有什么区别
  • 浙里办怎样查询殡仪馆信息
  • 热门搜索
    国内旅游景点大全 重庆旅游景点大全 重庆旅游景点 辽宁旅游 丽江旅游 南湖国旅游官网 荔波旅游攻略 柬埔寨旅游 旅游平台 桂林旅游学院