Data Structures: Queue With Stacks

Run Settings
LanguagePython
Language Version
Run Command
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())
Editor Settings
Theme
Key bindings
Full width
Lines