How to Implement a Circular Queue in Python?

73 views

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
0

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
0