Related Topics

Data Structure
class CircularQueue:
def __init__(self, size):
self.size = size
self.queue = [None] * size
self.front = 0
self.rear = 0
def is_empty(self):
return self.front == self.rear and self.queue[self.front] is None
def is_full(self):
return self.front == (self.rear + 1) % self.size
def enqueue(self, data):
if self.is_full():
raise Exception("Queue is full")
self.queue[self.rear] = data
self.rear = (self.rear + 1) % self.size
def dequeue(self):
if self.is_empty():
raise Exception("Queue is empty")
data = self.queue[self.front]
self.queue[self.front] = None
self.front = (self.front + 1) % self.size
return data
You would use a circular queue when you have a fixed amount of memory and need to continuously add and remove elements from a queue. A circular queue allows you to reuse the memory space as elements are removed from the queue, making it more efficient than a regular queue.




Popular Category
Topics for You
Go through our study material. Your Job is awaiting.