std :: rotate()函数以及C ++ STL中的示例

C ++ STL std :: rotate()函数

rotation()函数算法标头的库函数,用于在给定范围内向左旋转序列的元素,接受范围(开始,结束)和中间点,以这种方式旋转元素中间迭代器指向的元素将成为新的第一个元素。

注意:要使用rotate()函数–包括<algorithm>头文件,或者您可以简单地使用<bits / stdc ++。h>头文件。

std :: rotate()函数的语法

    std::rotate(iterator start, iterator middle, iterator end);

参数:

  • 迭代器开始–指向序列第一个元素的迭代器。

  • 中间迭代器–指向中间或我们要开始旋转的其他元素的迭代器。

  • 迭代器末端–指向序列的最后一个元素的迭代器。

返回值: void –返回注释。

示例

    Input:
    vector<int> v{ 10, 20, 30, 40, 50 };
    
    //从第二元素旋转向量
    rotate(v.begin(), v.begin() + 2, v.end());
        
    Output:
    30 40 50 10 20

C ++ STL程序演示了std :: rotate()函数的使用

在此程序中,我们有一个向量,并从第二个索引开始旋转其元素。

//C ++ STL程序演示使用
//std :: rotate()函数
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

//主要代码
int main(){
    //向量
    vector<int> v{ 10, 20, 30, 40, 50 };

    //打印矢量元素
    cout << "vector elements begfore rotating..." << endl;
    for (int x : v)
        cout << x << " ";
    cout << endl;

    //从第二元素旋转向量
    rotate(v.begin(), v.begin() + 2, v.end());

    cout << "vector elements after rotating..." << endl;
    for (int x : v)
        cout << x << " ";
    cout << endl;

    return 0;
}

输出结果

vector elements begfore rotating...
10 20 30 40 50
vector elements after rotating...
30 40 50 10 20

参考:C ++ std :: rotate()