Quick actions

cmd+k|ctrl+k

Navigation

Languages

Data Structures: Queue With Linked Lists

Snippet info

Language

Python

Visibility

public

Author

rakeshbhatia87

Created

2023-01-03T07:20:53.834568Z

Updated

2023-01-04T07:15:12.763624Z

class Node:
    def __init__(self, value):
        self.value = value
        self.next = None

class Queue:
    def __init__(self):
        self.first = None
        self.last = None
        self.length = 0
        
    def peek(self):
        return self.first.value

    def enqueue(self, value):
        newNode = Node(value)
        if self.length == 0:
            self.first = newNode
            self.last = newNode
        else:
            self.last.next = newNode
            self.last = newNode
        self.length += 1
        return self.first.value

    def dequeue(self):
        if not self.first:
            return None
        if self.first == self.last:
            self.last = None
        self.first = self.first.next
        self.length -= 1
        return self

myQueue = Queue()

#Discord
#Udemy
#google

myQueue.enqueue("John")
myQueue.enqueue("Jacob")
myQueue.enqueue("Justin")
print(myQueue.peek())
myQueue.dequeue()
print(myQueue.peek())
myQueue.dequeue()
print(myQueue.peek())

INFO