Объектно-ориентированное программирование на С++ - eDrive
Объектно-ориентированное программирование на С++ - eDrive
Объектно-ориентированное программирование на С++ - eDrive
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
54<br />
TQueue *q = new TQueue;<br />
for (int i=0; iPush (a[i].c_str());<br />
b += AnsiString (q–>Count ()) + ' ' + (char*) q–>Peek () + '\n';<br />
} // 0 1 Иванов 2 Иванов 3 Иванов<br />
while (q–>AtLeast (1))<br />
b += AnsiString (q–>Count ()) + ' ' + (char*) q–>Pop () + '\n';<br />
ShowMessage (b + '0'); // 3 Иванов 2 Петров 1 Сидоров 0<br />
}<br />
void SimpleQueue () {<br />
TQueue *vQueue = new TQueue;<br />
vQueue–>Push ("Пеpвое ");<br />
vQueue–>Push ("Втоpое ");<br />
vQueue–>Push ("Тpетье ");<br />
ShowMessage ("Добавили " + AnsiString (vQueue–>Count ()));<br />
vQueue–>Pop ();<br />
ShowMessage ("Осталось " + AnsiString (vQueue–>Count ()));<br />
}<br />
Списком <strong>на</strong>зывается ди<strong>на</strong>мическая структура, в которой поддерживаются<br />
помещение и выборка данных в произвольных позициях. Каждый член<br />
списка, именуемый узлом (node), содержит поле данных и поле–указатель<br />
следующего узла. Список <strong>на</strong>зывают линейным (linear list), если обход его выполняется<br />
только в одном <strong>на</strong>правлении – от предшествующего узла к последующему,<br />
<strong>на</strong>чи<strong>на</strong>я с первого узла и кончая последним. Список <strong>на</strong>зывают<br />
циклическим (cyclic list), если последний узел его содержит указатель <strong>на</strong> первый<br />
узел; в нем обход выполняется также в одном <strong>на</strong>правлении, но из любого<br />
узла можно перейти в любой другой узел. Пример:<br />
void MyList () {<br />
TList *vList = new TList ();<br />
AnsiString item = "что-то есть";<br />
try {<br />
vList–>Add (item.c_str ());<br />
ShowMessage ("В списке " + IntToStr (vList–>Count));<br />
vList–>Remove (item.c_str ());<br />
ShowMessage ("В списке " + IntToStr (vList–>Count));<br />
}<br />
catch (...) { delete vList; throw; }<br />
delete vList;<br />
}