Автор оригинала: Pankaj Kumar.
Python Stack.
Стек представляет собой последнюю в первую очередь линейную структуру данных I.E. Элемент, введенный в последнем, будет удален первым элементом.
В стеке элементы добавляются на одном конце, и эти элементы удаляются с того же конца.
Операции, связанные со стеком:
Толчок
– добавление элементов в стекПоп
– Удаление/удаление элементов из стека
Нажмите операцию в стеке
Push () Метод используется для добавления элементов в стек. Этот метод добавляет элемент в верхнюю часть стека. Мы можем использовать Добавить ()
Способ добавить элементы в стек.
Пример:
stack_store = [] print('current stack :', stack_store) for x in range(3): # push items into stack stack_store.append(x) print('current stack :', stack_store,'\tstack size :', len(stack_store))
Выход :
Поп-операция в стеке
Поп () Метод используется для удаления элементов из стека. Этот метод, когда вызывается, удаляет верхний элемент из стека.
Пример:
stack_store= [] print('\ncurrent stack :', stack_store) print('\nPushing/Adding items to the stack....') for x in range(3): stack_store.append(x) print('current stack :', stack_store,'\tstack size :', len(stack_store)) print('\nRemoving items from the stack....') while len(stack_store) > 0: stack_store.pop() print('current stack after pop() operation :', stack_store)
Выход :
Пути для реализации стека в Python
Ниже приведены способы реализации стека в Python:
- список
- коллекции
- Queue.lifoqueue
Метод 1: Реализация стека с использованием списка
# stack using list stack_list = ["English", "Gujarati", "Hindi"] stack_list.append("Marathi") stack_list.append("Kannada") print(stack_list) print(stack_list.pop()) print(stack_list) print(stack_list.pop()) print(stack_list)
Выход:
Метод 2: Реализация стека с использованием коллекции DECE
from collections import deque stack_store = deque() stack_store.append('Delhi') stack_store.append('Satara') stack_store.append('Gujarat') print(stack_store) stack_store.pop() print(stack_store) stack_store.pop() print(stack_store) stack_store.pop() print(stack_store)
Выход:
Метод 3: Реализация стека с использованием очереди
from queue import LifoQueue # Initializing a stack stack_store = LifoQueue(maxsize = 3) print(stack_store.qsize()) stack_store.put('1') stack_store.put('2') stack_store.put('3') print("Is the stack full?: ", stack_store.full()) print("The size of the stack is: ", stack_store.qsize()) print('\nItems poped/removed from the stack: ') print(stack_store.get()) print(stack_store.get()) print(stack_store.get()) print("\nIs the stack empty?: ", stack_store.empty())
Выход:
Заключение
Таким образом, в этой статье мы поняли механизм структуры данных стека и его основные операции и яркие способы реализации его в программировании.