Перевод этой страницы?:

sort

Синтаксис:

    #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;
}