rotate算法是STL中的一種常用算法,用于將容器中的元素按照指定的位置進行旋轉。在C++中,rotate算法的函數原型如下:
template <class ForwardIterator>
void rotate (ForwardIterator first, ForwardIterator middle, ForwardIterator last);
參數說明:
first
:要旋轉的容器的起始位置middle
:旋轉的中間位置,即將[first, middle)
范圍的元素移動到[middle, last)
的位置last
:要旋轉的容器的末尾位置下面我們通過一個實際案例來演示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;
}
在這個示例中,我們定義了一個包含10個整數的vector,并使用rotate算法將前3個元素移動到容器的末尾。運行程序后,輸出結果為:
After rotating: 4 5 6 7 8 9 10 1 2 3
可以看到,rotate算法成功將容器中的元素進行了旋轉。這個案例展示了rotate算法的基本用法,通過調整middle
參數的值,可以實現不同的旋轉效果。