Иллюстрированный самоучитель по Visual Studio.Net

         

Стек — это несложно


Стек — это адаптер (container adaptor), который предоставляет ограниченное подмножество всей функциональности контейнера. Термин адаптер в применении к структуре данных STL означает, что она реализована на основе какой-то другой структуры. По умолчанию стек основан на контейнере типа deque, но при объявлении можно явно указать и другой тип контейнера. Стек поддерживает вставку, удаление и инспекцию элемента, расположенного в первой (top) позиции контейнера. Стек не допускает итераций прохода по своим элементам. Говорят, что стек является структурой данных с дисциплиной доступа "last in first out" (LIFO). Вверху стека расположен элемент, который был помещен в него последним. Только он и может быть выбран в настоящий момент. При отладке следующего фрагмента не забудьте вставить директиву #include <stack>:

void main()

{

//========= Создаем стек целых

stack<Man> s;

s.push(joy);

s.push(joe);

s.push(charlie);

//========= Проверяем очевидные вещи

assert (s.size () == 3);

assert(s.top() == Charlie);

cout « "Stack contents:\n\n";

while (s.size())

{

cout « s.top() « "; ";

//========= Уничтожает top-элемент

s.pop(); }

assert(s.empty());

}



Содержание раздела