Python_Stacks_Queues
Python_Stacks_Queues
A stack is a linear data structure that follows the Last In First Out (LIFO) principle.
Python provides multiple ways to implement a stack:
1. Using a list
2. Using collections.deque
3. Using queue.LifoQueue
# Push elements
stack.append('x')
stack.append('y')
stack.append('z')
# Pop elements
print("Popped:", stack.pop()) # 'z'
print("Popped:", stack.pop()) # 'y'
print("Popped:", stack.pop()) # 'x'
Stack using queue.LifoQueue
# Push elements
stack.put('1')
stack.put('2')
stack.put('3')
# Pop elements
print("Popped:", stack.get()) # '3'
print("Popped:", stack.get()) # '2'
print("Popped:", stack.get()) # '1'
A queue is a linear data structure that follows the First In First Out (FIFO) principle.
Python provides multiple ways to implement a queue:
1. Using a list
2. Using collections.deque
3. Using queue.Queue
# Enqueue elements
queue.append('a')
queue.append('b')
queue.append('c')
# Dequeue elements
print("Dequeued:", queue.pop(0)) # 'a'
print("Dequeued:", queue.pop(0)) # 'b'
print("Dequeued:", queue.pop(0)) # 'c'
# Enqueue elements
queue.append('x')
queue.append('y')
queue.append('z')
# Dequeue elements
print("Dequeued:", queue.popleft()) # 'x'
print("Dequeued:", queue.popleft()) # 'y'
print("Dequeued:", queue.popleft()) # 'z'
# Enqueue elements
queue.put('1')
queue.put('2')
queue.put('3')
# Dequeue elements
print("Dequeued:", queue.get()) # '1'
print("Dequeued:", queue.get()) # '2'
print("Dequeued:", queue.get()) # '3'