C++ rotate算法的实际案例分析

avatar
作者
筋斗云
阅读量:0

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参数的值,可以实现不同的旋转效果。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!