Rotate left two places : rotate « STL Algorithms Modifying sequence operations « C++ Tutorial






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

using namespace std;

void show(const char *msg, vector<int> vect);

int main()
{
  vector<int> v;

  for(int i=0; i<10; i++) v.push_back(i);

  show("Original order: ", v);

  rotate(v.begin(), v.begin()+2, v.end());
  show("Order after rotating left two positions: ", v);

  return 0;
}

void show(const char *msg, vector<int> vect) {
  cout << msg << endl;
  for(unsigned i=0; i < vect.size(); ++i)
    cout << vect[i] << endl;
}








24.18.rotate
24.18.1.Use the generic rotate algorithm
24.18.2.Use rotate to rotate one element to the left
24.18.3.Use rotate to rotate two elements to the right
24.18.4.Use rotate to rotate so that element with value 4 is the beginning
24.18.5.Rotate left two places
24.18.6.Rotate a vector: Rotate left one position
24.18.7.Right-rotate a sequence by using reverse iterators with the rotate() algorithm.