Concept Flow - Circular queue
Initialize queue with fixed size
Enqueue: Check if queue is full?
Yes→Reject enqueue
No
Add element at rear index
Update rear index (rear = (rear + 1) % size)
Dequeue: Check if queue is empty?
Yes→Reject dequeue
No
Remove element at front index
Update front index (front = (front + 1) % size)
Repeat enqueue/dequeue as needed
A circular queue uses a fixed-size array with front and rear pointers that wrap around to reuse empty space, avoiding wasted slots.