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

STL

开发平台:

C/C++

  1. //文件名:CHAPTER9-1.cpp
  2. #include <set>
  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. {
  9.    set <int>::iterator s1_Iter, s2_Iter, s3_Iter, s4_Iter, s5_Iter, s6_Iter;
  10.    // Create an empty set s0 of key type integer
  11.    set <int> s0;
  12.    // Create an empty set s1 with the key comparison
  13.    // function of less than, then insert 4 elements
  14.    set <int, less<int> > s1;
  15.    s1.insert( 10 );
  16.    s1.insert( 20 );
  17.    s1.insert( 30 );
  18.    s1.insert( 40 );
  19.    // Create an empty set s2 with the key comparison
  20.    // function of geater than, then insert 2 elements
  21.    set <int, greater<int> > s2;
  22.    s2.insert(10);
  23.    s2.insert(20);
  24.    // Create a set s3 with the 
  25.    // allocator of set s1
  26.    set <int>::allocator_type s1_Alloc;
  27.    s1_Alloc = s1.get_allocator( );
  28.    set <int> s3( less<int>( ), s1_Alloc );
  29.    s3.insert( 30 );
  30.    // Create a copy, set s4, of set s1
  31.    set <int> s4( s1 );
  32.    // Create a set s5 by copying the range s1[_First, _Last)
  33.    set <int>::const_iterator s1_bcIter, s1_ecIter;
  34.    s1_bcIter = s1.begin( );
  35.    s1_ecIter = s1.begin( );
  36.    s1_ecIter++;
  37.    s1_ecIter++;
  38.   // set <int> s5( s1_bcIter, s1_ecIter );
  39.    // Create a set s6 by copying the range s4[_First, _Last)
  40.    // and with the allocator of set s2
  41.    set <int>::allocator_type s2_Alloc;
  42.    s2_Alloc = s2.get_allocator( );
  43. //   set <int> s6( s4.begin( ), ++s4.begin( ), less<int>( ), s2_Alloc );
  44.    cout << "s1 =";
  45.    for ( s1_Iter = s1.begin( ); s1_Iter != s1.end( ); s1_Iter++ )
  46.       cout << " " << *s1_Iter;
  47.    cout << endl;
  48.    cout << "s2 = " << *s2.begin( ) << " " << *++s2.begin( ) << endl;
  49.    cout << "s3 =";
  50.    for ( s3_Iter = s3.begin( ); s3_Iter != s3.end( ); s3_Iter++ )
  51.       cout << " " << *s3_Iter;
  52.    cout << endl;
  53.    cout << "s4 =";
  54.    for ( s4_Iter = s4.begin( ); s4_Iter != s4.end( ); s4_Iter++ )
  55.       cout << " " << *s4_Iter;
  56.    cout << endl;
  57.   /* cout << "s5 =";
  58.    for ( s5_Iter = s5.begin( ); s5_Iter != s5.end( ); s5_Iter++ )
  59.       cout << " " << *s5_Iter;
  60.    cout << endl;
  61.    cout << "s6 =";
  62.    for ( s6_Iter = s6.begin( ); s6_Iter != s6.end( ); s6_Iter++ )
  63.       cout << " " << *s6_Iter;
  64.    cout << endl;*/
  65.    return 0;
  66. }