Отличная аналогия, которую мы можем использовать, это укладка кучи книг. Мы склонны непрерывно держать блестящую новую книгу сверху и забрать максимальную самую книгу
Что такое стек?
Стек – это линейная структура данных, которая хранит элементы, используя Последнее в первом (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”