class Queue:
def __init__(self):
self.first = []
self.last = []
def peek(self):
if len(self.first) == 0:
print("Queue empty")
return
return self.first[-1]
def enqueue(self, value):
# Add all values from first stack to last stack
length = len(self.first)
for i in range(length):
self.last.append(self.first.pop())
# First stack is now empty
# Add given value to first stack
self.first.append(value)
# Now add all values from last stack to first stack
length = len(self.last)
for i in range(length):
self.first.append(self.last.pop())
def dequeue(self):
if len(self.first) == 0:
print("Queue empty")
return
return self.first.pop()
def print_queue(self):
if len(self.first) == 0:
print("Queue Empty")
return
for i in range(len(self.first) - 1,0,-1):
print(f'{self.first[i]} <<-- ',end='')
print(self.first[0])
return
myQueue = Queue()
myQueue.enqueue("John")
myQueue.enqueue("Jacob")
myQueue.enqueue("Justin")
myQueue.print_queue()
#print(myQueue.peek())
myQueue.dequeue()
myQueue.print_queue()
#print(myQueue.peek())
myQueue.dequeue()
myQueue.print_queue()
myQueue.dequeue()
myQueue.print_queue()
#print(myQueue.peek())