Source of deque07.cpp


  1: //deque07.cpp

  3: #include <iostream>
  4: #include <deque>
  5: using namespace std;

  7: int main()
  8: {
  9:     cout << "\nThis program illustrates reverse iterators of the "
 10:         "deque class,\nas well as member functions rbegin() and "
 11:         "rend().";
 12:     cout << "\nPress Enter to continue ... ";  cin.ignore(80, '\n');

 14:     cout << "\nHere are the contents of a deque of size 12:\n";
 15:     int a[] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24};
 16:     deque<int> d(a, a+12);
 17:     deque<int>::iterator p = d.begin();
 18:     while (p != d.end()) cout << *p++ << " ";
 19:     cout << "\nPress Enter to continue ... ";  cin.ignore(80, '\n');

 21:     cout << "\nNow using a reverse iterator to display\n"
 22:         "the deque components in reverse order:\n";
 23:     deque<int>::reverse_iterator r_p = d.rbegin();
 24:     while (r_p != d.rend()) cout << *r_p++ << " ";
 25:     cout << "\nPress Enter to continue ... ";  cin.ignore(80, '\n');

 27:     cout << "\nNow using a reverse iterator to display\n"
 28:         "the deque components in forward order:\n";
 29:     r_p = d.rend();
 30:     while (r_p != d.rbegin()) cout << *--r_p << " ";
 31:     cout << "\nPress Enter to continue ... ";  cin.ignore(80, '\n');

 33:     cout << "\nNow constructing a new deque containing the "
 34:         "values from 18 down to 6 from\nthe first deque, and "
 35:         "then displaying the values from this new deque.\n";
 36:     deque<int> d1(d.rbegin()+3, d.rbegin()+10);
 37:     p = d1.begin();
 38:     while (p != d1.end()) cout << *p++ << " ";
 39:     cout << "\nPress Enter to continue ... ";  cin.ignore(80, '\n');
 40: }