Skip to content

Instantly share code, notes, and snippets.

@aolufisayo
Created July 27, 2022 19:12
Show Gist options
  • Save aolufisayo/78f191aba6ccf5f1418ff0a296d43390 to your computer and use it in GitHub Desktop.
Save aolufisayo/78f191aba6ccf5f1418ff0a296d43390 to your computer and use it in GitHub Desktop.
queue data structure implementation in python
class Node:
def __init__(self, value):
self.value = value
self.next = None
class Queue:
def __init__(self, value):
new_node = Node(value)
self.first = new_node
self.last = new_node
self.length = 1
def print_queue(self):
temp = self.first
while temp is not None:
print(temp.value)
temp = temp.next
def enqueue(self, value):
new_node = Node(value)
if self.first == None:
self.first = new_node
self.last = new_node
else:
self.last.next = new_node
self.last = new_node
self.length += 1
def dequeue(self):
temp = self.first
if self.length == 0:
return None
if self.length == 1:
self.first = None
self.last = None
else:
self.first = self.first.next
temp.next = None
self.length -= 1
return temp
my_queue = Queue(1)
my_queue.enqueue(2)
my_queue.enqueue(3)
my_queue.enqueue(4)
my_queue.print_queue()
print()
print()
my_queue.dequeue()
my_queue.dequeue()
my_queue.print_queue()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment