CHAPTER7-11.cpp
上传用户:fjc899
上传日期:2007-07-03
资源大小:187k
文件大小:1k
源码类别:

STL

开发平台:

C/C++

  1. //文件名:CHAPTER7-11.cpp
  2. #include <deque>
  3. #include <iostream>
  4. #if _MSC_VER > 1020   // if VC++ version is > 4.2
  5.    using namespace std;  // std c++ libs implemented in std
  6. #endif
  7. int main( ) 
  8. {  deque <int> c1;
  9.    deque <int>::iterator c1_Iter;
  10.    deque <int>::reverse_iterator c1_rIter;
  11.    c1.push_back( 10 );
  12.    c1.push_back( 20 );
  13.    c1.push_back( 30 );
  14.    c1_rIter = c1.rend( );
  15.    c1_rIter --; // Decrementing a reverse iterator moves it forward 
  16.                 // in the deque (to point to the first element here)
  17.    cout << "The first element in the deque is: " << *c1_rIter << endl;
  18.    cout << "The deque is: ";
  19.    for ( c1_Iter = c1.begin( ); c1_Iter != c1.end( ); c1_Iter++ )
  20.       cout << *c1_Iter << " ";
  21.    cout << endl;
  22.    cout << "The reversed deque is: ";
  23.    for ( c1_rIter = c1.rbegin( ); c1_rIter != c1.rend( ); c1_rIter++ )
  24.       cout << *c1_rIter << " ";
  25.    cout << endl;
  26.    c1_rIter = c1.rend( );
  27.    c1_rIter--; // Decrementing the reverse iterator moves it backward 
  28.                // in the reversed deque (to the last element here)
  29.    *c1_rIter = 40; // This modification of the last element would 
  30.                    // have caused an error if a const_reverse 
  31.                    // iterator had been declared (as noted above)
  32.    cout << "The modified reversed deque is: ";
  33.    for ( c1_rIter = c1.rbegin( ); c1_rIter != c1.rend( ); c1_rIter++ )
  34.       cout << *c1_rIter << " ";
  35.    cout << endl;
  36.    return 0;
  37. }