Рубрики
Без рубрики

Python Stack.

Стек – это встроенная линейная структура данных. Операции стека Python предоставляются в самом списке. Мы можем использовать DECE или LIFOQUEUE, чтобы реализовать стек.

Автор оригинала: 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()) 

Выход:

Выходной стек с использованием очереди

Заключение

Таким образом, в этой статье мы поняли механизм структуры данных стека и его основные операции и яркие способы реализации его в программировании.

Рекомендации