В Python стек — это структура данных, которая соответствует принципу «Последним пришел — первым вышел» (LIFO), при котором элементы добавляются и удаляются сверху. Вот пример класса стека в Python с некоторыми распространенными методами:
class Stack:
def __init__(self):
self.stack = []
def is_empty(self):
return len(self.stack) == 0
def push(self, item):
self.stack.append(item)
def pop(self):
if not self.is_empty():
return self.stack.pop()
else:
raise IndexError("Stack is empty")
def peek(self):
if not self.is_empty():
return self.stack[-1]
else:
raise IndexError("Stack is empty")
def size(self):
return len(self.stack)
В этом примере класс Stackимеет следующие методы:
__init__()— инициализирует пустой стек.is_empty()— проверяет, пуст ли стек, и возвращаетTrueилиFalse.push(item)– добавляет элемент на вершину стека.pop()— удаляет и возвращает верхний элемент из стека. ВызываетIndexError, если стек пуст.peek()— возвращает верхний элемент стека, не удаляя его. ВызываетIndexError, если стек пуст.size()– возвращает количество элементов в стеке.