CHAPTER10-8.cpp
上传用户:fjc899
上传日期:2007-07-03
资源大小:187k
文件大小:1k
- //文件名:CHAPTER10-8.cpp
- #include <map>
- #include <iostream>
- #if _MSC_VER > 1020 // if VC++ version is > 4.2
- using namespace std; // std c++ libs implemented in std
- #endif
- void main( )
- {
- multimap <int, int> m1;
- int i;
- multimap <int, int> :: iterator m1_Iter;
- multimap <int, int> :: reverse_iterator m1_rIter;
- multimap <int, int> :: const_reverse_iterator m1_crIter;
- typedef pair <int, int> Int_Pair;
- m1.insert ( Int_Pair ( 1, 10 ) );
- m1.insert ( Int_Pair ( 2, 20 ) );
- m1.insert ( Int_Pair ( 3, 30 ) );
- m1_rIter = m1.rbegin( );
- cout << "The first element of the reversed multimap m1 is "
- << m1_rIter -> first << "." << endl;
- // begin can be used to start an iteration
- // throught a multimap in a forward order
- cout << "The multimap is: ";
- for ( m1_Iter = m1.begin( ) ; m1_Iter != m1.end( ); m1_Iter++)
- cout << m1_Iter -> first << " ";
- cout << "." << endl;
- // rbegin can be used to start an iteration
- // throught a multimap in a reverse order
- cout << "The reversed multimap is: ";
- for ( m1_rIter = m1.rbegin( ) ; m1_rIter != m1.rend( ); m1_rIter++)
- cout << m1_rIter -> first << " ";
- cout << "." << endl;
- // A multimap element can be erased by dereferencing its key
- m1_rIter = m1.rbegin( );
- m1.erase ( m1_rIter -> first );
- m1_rIter = m1.rbegin( );
- cout << "After the erasure, the first element "
- << "in the reversed multimap is "<< m1_rIter -> first << "." << endl;
- }