How to Implement a Circular Queue in Python?
How to Implement a Circular Queue in Python?
How to Implement a Circular Queue in Python?
What is a circular queue, and how can it be implemented in Python?
solveurit24@gmail.com Changed status to publish February 20, 2025
A circular queue wraps around to the beginning when the end is reached. Here’s an implementation:
class CircularQueue:
def __init__(self, size):
self.size = size
self.queue = [None] * size
self.front = 0
self.rear = 0
def is_full(self):
return self.queue[self.rear] is not None
def is_empty(self):
return self.queue[self.front] is None
def enqueue(self, value):
if self.is_full():
print("Queue is full!")
return
self.queue[self.rear] = value
self.rear = (self.rear + 1) % self.size
def dequeue(self):
if self.is_empty():
print("Queue is empty!")
return None
value = self.queue[self.front]
self.queue[self.front] = None
self.front = (self.front + 1) % self.size
return value
q = CircularQueue(3)
q.enqueue(1)
q.enqueue(2)
q.enqueue(3)
print(q.dequeue()) # Output: 1
print(q.dequeue()) # Output: 2
q.enqueue(4)
print(q.queue) # Output: [None, 3, 4]solveurit24@gmail.com Changed status to publish February 20, 2025