Стек
— это несложно
Стек — это
адаптер (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());
}