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為旋轉范圍內元素的個數。