Syntaxe:
#include <list> void sort(); void sort( BinPred p );
A função sort() é usada para ordenar listas em ordem crescente. A ordenação é feita com o operador <, a menos que p seja sepecificado, caso onde este será usado para determinar se um elemtno é menor do que outro.
A função tem complexidade NlogN.
Tópicos relacionados: reverse
Código simples de exemplo: #include <iostream> #include <list> using namespace std; // Assumes T t; cout << t; is valid. 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; /* Load up some example test data... */ 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)); /* Show us that test data... */ cout << l << endl; /* Sort list. */ Functor f; l.sort(f); /* Show us what we have now... */ cout << l << endl; }