CHAPTER10-28.cpp
上传用户:fjc899
上传日期:2007-07-03
资源大小:187k
文件大小:2k
- //文件名:CHAPTER10-28.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
- int main( )
- {
- multimap <int, int> m1;
- multimap <int, int> :: const_iterator m1_AcIter, m1_RcIter;
- typedef pair <int, int> Int_Pair;
- m1.insert ( Int_Pair ( 1, 10 ) );
- m1.insert ( Int_Pair ( 2, 20 ) );
- m1.insert ( Int_Pair ( 3, 20 ) );
- m1.insert ( Int_Pair ( 3, 30 ) );
- m1_RcIter = m1.find( 2 );
- cout << "The element of multimap m1 with a key of 2 is: "<< m1_RcIter -> second << "." << endl;
- m1_RcIter = m1.find( 3 );
- cout << "The first element of multimap m1 with a key of 3 is: "
- << m1_RcIter -> second << "." << endl;
- // If no match is found for the key, end( ) is returned
- m1_RcIter = m1.find( 4 );
- if ( m1_RcIter == m1.end( ) )
- cout << "The multimap m1 doesn't have an element "<< "with a key of 4." << endl;
- else
- cout << "The element of multimap m1 with a key of 4 is: "
- << m1_RcIter -> second << "." << endl;
- // The element at a specific location in the multimap can be
- // found using a dereferenced iterator addressing the location
- m1_AcIter = m1.end( );
- m1_AcIter--;
- m1_RcIter = m1.find( m1_AcIter -> first );
- cout << "The first element of m1 with a key matching"
- << endl << "that of the last element is: "<< m1_RcIter -> second << "." << endl;
- // Note that the first element with a key equal to
- // the key of the last element is not the last element
- if ( m1_RcIter == --m1.end( ) ) cout << "This is the last element of multimap m1."<< endl;
- else cout << "This is not the last element of multimap m1."<< endl;
- }