Queue implementation using Linked List in Python. It follows First in First Out (FIFO)
Run the code here: https://repl.it/@VinitKhandelwal/Queue
4
3
2
1
Run the code here: https://repl.it/@VinitKhandelwal/Queue
class Queue:
def __init__(self):
self.reset()
def reset(self):
self.bottom = None
self.top = self.bottom
def push(self, value):
new_node = Node(value)
if self.top is not None:
self.top.pointer = new_node
self.top = new_node
else:
self.bottom = new_node
self.top = self.bottom
def peek(self):
if self.bottom is not None:
print(self.bottom.value)
def pop(self):
if self.bottom == None or self.bottom.pointer == None:
self.reset()
else:
self.bottom = self.bottom.pointer
class Node:
def __init__(self, value=None, pointer=None):
self.value = value
self.pointer = pointer
obj = Queue()
obj.push(5)
obj.push(4)
obj.push(3)
obj.push(2)
obj.push(1)
obj.peek()
obj.pop()
obj.peek()
obj.pop()
obj.peek()
obj.pop()
obj.peek()
obj.pop()
obj.peek()
obj.pop()
obj.peek()
OUTPUT
54
3
2
1
Comments
Post a Comment