На этом шаге мы приведем функции, реализующие основной интерфейс стека.
Основной интерфейс стеков состоит из функций push(), top() и рор():
Рис.1. Внутренний интерфейс стека
Обратите внимание: функция рор() удаляет верхний элемент, но не возвращает его, тогда как функция top() возвращает верхний элемент стека без удаления. Следовательно, чтобы обработать верхний элемент и удалить его из стека, всегда приходится вызывать обе функции. Такой интерфейс несколько неудобен, но он более эффективен при удалении верхнего элемента без его обработки. Если стек не содержит ни одного элемента, поведение функций top() и рор() не определено. Наличие элементов в стеке проверяется функциями size() и empty().
Если стандартный интерфейс stack() вас не устраивает, вы легко можете написать более удобный интерфейс.
На следующем шаге мы рассмотрим пример использования стека.