Базовые операции над списками

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

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

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

#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. Результат работы приложения

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



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий