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为旋转范围内元素的个数。