fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <iterator>
  5.  
  6. template <typename T>
  7. void FillContainer(T &container) {
  8. int i = 0;
  9. std::generate(std::begin(container),
  10. std::end(container), [&](){return i++;});
  11. }
  12.  
  13. template <typename T>
  14. void ShowContainer(T container) {
  15. std::copy(std::begin(container),
  16. std::end(container), std::ostream_iterator<int>(std::cout," "));
  17. std::cout << std::endl;
  18. }
  19.  
  20. int main(int argc, char *argv[]) {
  21. std::vector<int> non_modified_container(16);
  22. FillContainer(non_modified_container);
  23. ShowContainer(non_modified_container);
  24.  
  25. std::vector<int> copy_of_container = non_modified_container;
  26. std::rotate(std::begin(copy_of_container), std::begin(copy_of_container) + 5, std::end(copy_of_container));
  27.  
  28. ShowContainer(copy_of_container);
  29. return 0;
  30. }
  31.  
Success #stdin #stdout 0s 3432KB
stdin
Standard input is empty
stdout
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 
5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4