// Test della classe list #include #include #include #include using namespace std; template < class T > void printList( const list< T > &listRef ); int main() { const int SIZE = 4; int a[ SIZE ] = { 2, 6, 4, 8 }; list< int > values, otherValues; values.push_front( 1 ); values.push_front( 2 ); values.push_back( 4 ); values.push_back( 3 ); cout << "values contiene: "; printList( values ); values.sort(); cout << "\nvalues dopo sort() contiene: "; printList( values ); otherValues.insert( otherValues.begin(), a, a + SIZE ); cout << "\notherValues contiene: "; printList( otherValues ); values.splice( values.end(), otherValues ); cout << "\nDopo splice(), values contiene: "; printList( values ); cout << "\nDopo splice(), otherValues contiene: "; printList( otherValues ); values.sort(); cout << "\nvalues contiene: "; printList( values ); otherValues.insert( otherValues.begin(), a, a + SIZE ); otherValues.sort(); cout << "\notherValues contiene: "; printList( otherValues ); values.merge( otherValues ); cout << "\nDopo merge():\n values contiene: "; printList( values ); cout << "\n otherValues contiene: "; printList( otherValues ); values.pop_front(); values.pop_back(); cout << "\nDopo pop_front() e pop_back(), values contiene:\n"; printList( values ); values.unique(); cout << "\nDopo unique(), values contiene: "; printList( values ); values.swap( otherValues ); cout << "\nDopo swap():\n values contiene: "; printList( values ); cout << "\n otherValues contiene: "; printList( otherValues ); values.assign( otherValues.begin(), otherValues.end() ); cout << "\nDopo assign(), values contiene: "; printList( values ); values.merge( otherValues ); cout << "\ndopo merge con otherValues, values contiene: "; printList( values ); values.remove( 4 ); cout << "\nDopo remove( 4 ), values contiene: "; printList( values ); cout << endl; cout << endl << endl; //system("pause"); return 0; } template < class T > void printList( const list< T > &listRef ) { if ( listRef.empty() ) cout << "La list e' vuota"; else { ostream_iterator< T > output( cout, " " ); copy( listRef.begin(), listRef.end(), output ); } }