# Sources:
# https://stackabuse.com/stacks-and-queues-in-python/

# Stacks are LIFO (Last-In, First-Out). 
# Two implement a stack we use two operations: push and pop
# push wil add an element to the top of the stack while pop removes the element at the top
# we use 'append' to simulate push. You can make a push class defining it with append to make it more clear

# Queues are FIFO (first-In, First-Out) (like standing in a line to buy something)
# For a queue we need two operations: enqueue and dequeue
# enqueue adds an element to the end of the queue 
# dequeue removes the element at the beginning of the queue
