Queue using Linked List

Run Settings
LanguagePython
Language Version
Run Command
class Node: def __init__(self,data): self.data = data self.next = None class Queue: def __init__(self): self.first = None self.last = None self.length = 0 def peek(self): x = self.first print(x.data) def enqueue(self,value): node = Node(value) if self.length == 0: self.first = node self.last = node self.length+=1 else: node.next = self.last self.last = node self.length +=1 def dequeue(self): if self.length == 0: print("Empty Queue") else: curr = self.last for i in range(1,self.length-1): curr = curr.next curr.next = None self.first = curr self.length-=1 if __name__ == '__main__': queue = Queue() queue.enqueue('Joy') queue.enqueue('Matt') queue.enqueue('Pavel') queue.enqueue('Samir') queue.dequeue() queue.dequeue() queue.dequeue() queue.peek()
Editor Settings
Theme
Key bindings
Full width
Lines