Join Regular Classroom : Visit ClassroomTech

Data Structure – codewindow.in

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.

      

Go through our study material. Your Job is awaiting.

Recent Posts
Categories