Синтаксис:
#include <list> void sort(); void sort( BinPred p );
Функция sort() используется для сортировки списка по возрастанию. Сравнение происходит с помощью оператора <, если же предоставлена функция p, то она используется для определения, того, что один элемент меньше другого.
Сортировка выполняется за N log N.
Смотри также: reverse
Простой пример: #include <iostream> #include <list> using namespace std; // Предположим, что T t; cout << t; правомерно. template<class T> inline ostream & operator<< ( ostream & theOstream, const list<T> & theList ) { typename list<T>::const_iterator listIterator = theList.begin(); for ( int i = 0; listIterator != theList.end(); listIterator ++, i ++ ) theOstream << " [" << i << "]: \"" << (*listIterator) << "\"" << endl; return theOstream; } struct Functor { bool operator()( const char * a, const char * b ) { return strcmp(a,b) < 0; } }; int main() { list<char*> l; /* Загрузка каких-то тестовых данных... */ char s[3]; s[2] = '\0'; for ( s[0]='c'; s[0]>='a'; s[0]-- ) for ( s[1]='c'; s[1]>='a'; s[1]-- ) l.push_back(strdup(s)); /* Покажи нам тестовые данные... */ cout << l << endl; /* Сортировка списка. */ Functor f; l.sort(f); /* Покажи нам, что получилось... */ cout << l << endl; }