C++/Vector/vector reverse iterator

Материал из C\C++ эксперт
Перейти к: навигация, поиск

Illustrating normal and reverse iteration.

 
 
#include <iostream>
#include <vector>
#include <list>
using namespace std;
int main()
{
  cout << "Normal and reverse iteration through a vector:\n";
  vector<int> vector1;
  vector1.push_back(2);
  vector1.push_back(3);
  vector1.push_back(5);
  vector1.push_back(7);
  vector1.push_back(11);
  cout << "Elements in normal (forward) order:  ";
  vector<int>::iterator i;
  for (i = vector1.begin(); i != vector1.end(); ++i)
     cout << *i << "  ";
  cout << endl;
  cout << "Elements in reverse order:           ";
  vector<int>::reverse_iterator r;
  for (r = vector1.rbegin(); r != vector1.rend(); ++r)
     cout << *r << "  ";
  cout << endl;

  cout << "Normal and reverse iteration through a list:\n";
  list<int> list1(vector1.begin(), vector1.end());
  cout << "Elements in normal (forward) order:  ";
  for (i = vector1.begin(); i != vector1.end(); ++i)
     cout << *i << "  ";
  cout << endl;
  cout << "Elements in reverse order:           ";
  for (r = vector1.rbegin(); r != vector1.rend(); ++r)
     cout << *r << "  ";
  cout << endl;
  return 0;
}
/* 
Normal and reverse iteration through a vector:
Elements in normal (forward) order:  2  3  5  7  11
Elements in reverse order:           11  7  5  3  2
Normal and reverse iteration through a list:
Elements in normal (forward) order:  2  3  5  7  11
Elements in reverse order:           11  7  5  3  2
 */