Use the copy_backward algorithms: Shift it right by 2 positions : copy_backward « STL Algorithms Modifying sequence operations « C++






Use the copy_backward algorithms: Shift it right by 2 positions

 
 

#include <iostream>
#include <cassert>
#include <algorithm>
#include <vector>
#include <string>
#include <iostream>
using namespace std;

int main()
{
  string s("abcdefghihklmnopqrstuvwxyz");

  vector<char> vector1(s.begin(), s.end());

  copy_backward(vector1.begin(), vector1.end() - 2, vector1.end());
  vector<char>::iterator pos;

  for (pos=vector1.begin(); pos!=vector1.end(); ++pos) {
        cout << *pos << ' ';
  }

  return 0;
}

/* 
a b a b c d e f g h i h k l m n o p q r s t u v w x 
 */

  








Related examples in the same category

1.Use std::copy_backward to place elements in one vector into another vector in reverse order