Шаг 11.
Библиотека STL.
Сортировка списка

    На этом шаге мы приведем пример сортировки списка.

    Список можно отсортировать с помощью функции-члена sort(). При выполнении следующей программы создается список случайно выбранных чисел, который затем упорядочивается по возрастанию.

//---------------------------------------------------------------------------

#include <vcl.h>
#include <iostream>
#include <list>
#include <cstdlib>
#include <winuser.h>
#include <conio.h> //необходимо для getch()
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
using namespace std;
std::string ToRus(const std::string &in)
{
  char *buff = new char [in.length()+1];
  CharToOem(in.c_str(),buff);
  std::string out(buff);
  delete [] buff;
  return out;
}

int main(int argc, char* argv[])
{
  list<int> lst;
  int i;
  // Создание списка случайно выбранных целых чисел
  for(i=0; i<10; i++)
  	lst.push_back(rand());
  cout << ToRus("Исходное содержимое списка:\n");
  list<int>::iterator p = lst.begin();
  while(p != lst.end())
  {
  	cout << *p <<" ";
  	p++;
  }
  cout << endl << endl;
  // Сортировка списка.
  lst.sort();
  cout << ToRus("Отсортированное содержимое списка:\n");
  p = lst.begin();
  while(p != lst.end())
  {
  	cout << *p << " ";
  	p++;
  }

  getch();
  return 0;
}
//---------------------------------------------------------------------------
Текст этого примера можно взять здесь.

    Результаты выполнения этой программы представлены на рисунке 1.


Рис.1. Результат работы приложения

    На следующем шаге мы рассмотрим пример объединения двух списков.




Предыдущий шаг Содержание Следующий шаг