Complete the code to initialize the front pointer of the circular queue.
class CircularQueue: def __init__(self, size): self.size = size self.queue = [None] * size self.front = [1] self.rear = -1
The front pointer is initialized to -1 to indicate the queue is empty initially.
Complete the code to check if the circular queue is full.
def is_full(self): return (self.rear + 1) % self.size == [1]
The queue is full when the next position of rear is front.
Fix the error in the enqueue method to update the rear pointer correctly.
def enqueue(self, data): if self.is_full(): print("Queue is full") return if self.front == -1: self.front = 0 self.rear = [1] self.queue[self.rear] = data
The rear pointer must move forward circularly using modulo to wrap around.
Fill both blanks to correctly update the front pointer in the dequeue method.
def dequeue(self): if self.front == -1: print("Queue is empty") return None data = self.queue[self.front] if self.front == self.rear: self.front = [1] self.rear = [2] else: self.front = (self.front + 1) % self.size return data
When the last element is dequeued, both front and rear reset to -1 to indicate empty queue.
Fill in the blanks to complete the display method that prints the queue elements in order.
def display(self): if self.front == -1: print("Queue is empty") return i = self.front while True: print(self.queue[i], end=" ") if i == self.rear: break i = (i [1] 1) [2] self.size print() # Example usage: cq = CircularQueue(5) cq.enqueue(10) cq.enqueue(20) cq.enqueue(30) cq.display() # Output: 10 20 30
To move forward circularly, add 1 and take modulo with size.
