Шаг 10.
Библиотека STL.
Базовые операции над списками

    На этом шаге мы приведем пример, в котором используются базовые операции над списками.

    В данном примере рассматриваются базовые операции над списками.

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

#include <vcl.h>
#include <iostream>
#include <list>
#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<char> lst, revlst; // создание пустого списка
  int i;
  for (i=0; i<10; i++) lst.push_back('A' + i);
  cout << ToRus("Размер списка lst = ") << lst.size() << endl;
  cout << ToRus("Содержимое lst: ");
  list<char>::iterator p = lst.begin();
  /*
  Удаляем элементы из списка lst и помещаем их
  в список  revlst в обратном порядке
  */
  while (!lst.empty())
  {
  	p = lst.begin();
  	cout << *p;
  	revlst.push_front(*p);
  	lst.pop_front();
  }
  cout << endl << endl;

  cout << ToRus("Размер списка revlst = ");
  cout << revlst.size() << endl;

  cout << ToRus("Реверсированное содержимое списка: ");
  p = revlst.begin();
  while(p != revlst.end())
  {
  	cout << *p;
  	p++;
  }

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

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


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

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




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