溫馨提示×

C++ rotate算法的實(shí)際案例分析

c++
小樊
81
2024-08-24 01:34:30
欄目: 編程語言

rotate算法是STL中的一種常用算法,用于將容器中的元素按照指定的位置進(jìn)行旋轉(zhuǎn)。在C++中,rotate算法的函數(shù)原型如下:

template <class ForwardIterator>
void rotate (ForwardIterator first, ForwardIterator middle, ForwardIterator last);

參數(shù)說明:

  • first:要旋轉(zhuǎn)的容器的起始位置
  • middle:旋轉(zhuǎn)的中間位置,即將[first, middle)范圍的元素移動(dòng)到[middle, last)的位置
  • last:要旋轉(zhuǎn)的容器的末尾位置

下面我們通過一個(gè)實(shí)際案例來演示rotate算法的使用:

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

    std::rotate(vec.begin(), vec.begin() + 3, vec.end());

    std::cout << "After rotating: ";
    for (int i : vec) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    return 0;
}

在這個(gè)示例中,我們定義了一個(gè)包含10個(gè)整數(shù)的vector,并使用rotate算法將前3個(gè)元素移動(dòng)到容器的末尾。運(yùn)行程序后,輸出結(jié)果為:

After rotating: 4 5 6 7 8 9 10 1 2 3 

可以看到,rotate算法成功將容器中的元素進(jìn)行了旋轉(zhuǎn)。這個(gè)案例展示了rotate算法的基本用法,通過調(diào)整middle參數(shù)的值,可以實(shí)現(xiàn)不同的旋轉(zhuǎn)效果。

0