温馨提示×

C++标准库中rotate函数的用法

c++
小樊
87
2024-08-24 01:24:32
栏目: 编程语言

rotate函数是C++标准库中的一个算法函数,用于将指定范围内的元素进行旋转操作。其原型如下:

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

其中,first为要进行旋转操作的范围的起始位置,middle为旋转的中间位置,last为范围的结束位置。

例如,对于一个数组{1, 2, 3, 4, 5},如果我们想要将数组进行旋转,使得数组变为{4, 5, 1, 2, 3},可以使用rotate函数:

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

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};
    
    std::rotate(vec.begin(), vec.begin() + 3, vec.end());
    
    for (int i : vec) {
        std::cout << i << " ";
    }
    
    return 0;
}

上述代码会输出4 5 1 2 3,即将数组中的元素进行了旋转操作。

rotate函数的时间复杂度为O(n),其中n为旋转范围内元素的个数。

0