Абстрактный тип данных “стек”

Абстрактный тип данных для стека определяется следующими структурой и операциями. Как писалось выше, стек организован как упорядоченная коллекция элементов, добавляемых и удаляемых из конца, называемого “вершина” (LIFO-упорядоченность). Ниже представлены операции над стеком.

Например, если s - свежесозданный пустой стек, то в таблице 1 показаны результаты проведения над ним определённой последовательности операций. Для согласования с сущностью стека верхний элемент будет ставить на самое правое место в списке.

Таблица 1: Простые стековые операции
Операция над стеком Содержание стека Возвращаемое значение
s.isEmpty() [] True
s.push(4) [4]  
s.push('dog') [4,'dog']  
s.peek() [4,'dog'] 'dog'
s.push(True) [4,'dog',True]  
s.size() [4,'dog',True] 3
s.isEmpty() [4,'dog',True] False
s.push(8.4) [4,'dog',True,8.4]  
s.pop() [4,'dog',True] 8.4
s.pop() [4,'dog'] True
s.size() [4,'dog'] 2
Next Section - Реализация стека на Python