Отличная аналогия, которую мы можем использовать, это укладка кучи книг. Мы склонны непрерывно держать блестящую новую книгу сверху и забрать максимальную самую книгу
Что такое стек?
Стек – это линейная структура данных, которая хранит элементы, используя Последнее в первом (LIFO) Стратегия. Всякий раз, когда в стек добавляется новый элемент, он добавляется к самой высокой точке стека, а верхний элемент вынимается сначала из стека.
Стек в Python может быть выполнен следующим образом:
- Список
- коллекции
- очередь. Порок жизни
Некоторые из функций, связанных со стеком:
- push (): Когда эта функция называется, новый элемент добавляется в верхней части стека
- POP (): эта функция удаляет самый верхний элемент стека
- пустые (): возвращайте true, если стек пуст, возвращает false
- PEEK (): эта функция возвращает верхний элемент стека
Реализация стека
class Stack():
def __init__(self):
self.items = []
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def is_empty(self):
return self.items == []
def peek(self):
if not self.is_empty():
return self.items[-1]
def get_stack(self):
return self.items
s=Stack()
print("Stack is Empty:",s.is_empty())
s.push("A")
s.push("B")
s.push("C")
s.push("D")
s.push("E")
s.push("F")
print("Stack after appending =",s.get_stack())
s.pop()
s.pop()
print("Stack after removing elements =",s.get_stack())
print("Peek element =",s.peek())
Выход:
Stack is Empty: True Stack after appending = ['A', 'B', 'C', 'D', 'E', 'F'] Stack after removing elements = ['A', 'B', 'C', 'D'] Peek element = D
Оригинал: “https://dev.to/iswarya/stack-data-structure-in-python-1o2d”