當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ std::rotate()用法及代碼示例


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

rotate() 函數是算法頭的庫函數,用於在給定範圍內向左旋轉一個序列的元素,它接受範圍(開始,結束)和一個中間點,它以元素的方式旋轉元素中間迭代器指向的成為新的第一個元素。

注意:使用 rotate() 函數 - 包括<algorithm>標題或者您可以簡單使用<bits/stdc++.h>頭文件。

std::rotate() 函數的語法

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

參數:

  • iterator start- 指向序列第一個元素的迭代器。
  • iterator middle- 一個迭代器,指向我們想要開始旋轉的中間或任何其他元素。
  • iterator end- 指向序列最後一個元素的迭代器。

返回值: void- 它返回注意。

例:

    Input:
    vector<int> v{ 10, 20, 30, 40, 50 };
    
    //rotating vector from 2nd element
    rotate(v.begin(), v.begin() + 2, v.end());
        
    Output:
    30 40 50 10 20

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

在這個程序中,我們有一個向量,我們正在從 2 旋轉它的元素nd index 。

//C++ STL program to demonstrate use of
//std::rotate() function
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

//main code
int main()
{
    //vector
    vector<int> v{ 10, 20, 30, 40, 50 };

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

    //rotating vector from 2nd element
    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()



相關用法


注:本文由純淨天空篩選整理自 std::rotate() function with example in C++ STL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。