CHAPTER11-24.cpp
上传用户:fjc899
上传日期:2007-07-03
资源大小:187k
文件大小:2k
- //文件名:CHAPTER11-24.cpp
- #include <vector>
- #include <list>
- #include <algorithm>
- #include <iostream>
- // Return whether second element is twice the first
- bool twice ( int elem1, int elem2 )
- { return 2 * elem1 < elem2;}
- int main( )
- {
- using namespace std;
- vector <int> v1, v2;
- list <int> L1;
- vector <int>::iterator Iter1, Iter2;
- list <int>::iterator L1_Iter, L1_inIter;
- int i;
- for ( i = 0 ; i <= 5 ; i++ )
- { v1.push_back( 5 * i ); }
- int ii;
- for ( ii = 0 ; ii <= 6 ; ii++ )
- { L1.push_back( 5 * ii ); }
- int iii;
- for ( iii = 0 ; iii <= 5 ; iii++ )
- { v2.push_back( 10 * iii ); }
- cout << "Vector v1 = ( " ;
- for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
- cout << *Iter1 << " ";
- cout << ")" << endl;
- cout << "List L1 = ( " ;
- for ( L1_Iter = L1.begin( ) ; L1_Iter!= L1.end( ) ; L1_Iter++ )
- cout << *L1_Iter << " ";
- cout << ")" << endl;
- cout << "Vector v2 = ( " ;
- for ( Iter2 = v2.begin( ) ; Iter2 != v2.end( ) ; Iter2++ )
- cout << *Iter2 << " ";
- cout << ")" << endl;
- // Self lexicographical_comparison of v1 under identity
- bool result1;
- result1 = lexicographical_compare (v1.begin( ), v1.end( ),
- v1.begin( ), v1.end( ) );
- if ( result1 )
- cout << "Vector v1 is lexicographically_less than v1." << endl;
- else
- cout << "Vector v1 is not lexicographically_less than v1." << endl;
- // lexicographical_comparison of v1 and L2 under identity
- bool result2;
- result2 = lexicographical_compare (v1.begin( ), v1.end( ),L1.begin( ), L1.end( ) );
- if ( result2 )
- cout << "Vector v1 is lexicographically_less than L1." << endl;
- else
- cout << "Vector v1 is lexicographically_less than L1." << endl;
- bool result3;
- result3 = lexicographical_compare (v1.begin( ), v1.end( ),v2.begin( ), v2.end( ), twice );
- if ( result3 )
- cout << "Vector v1 is lexicographically_less than v2 "<< "under twice." << endl;
- else
- cout << "Vector v1 is not lexicographically_less than v2 "<< "under twice." << endl;
- }