Design Circular Queue
LeetCode 622 • Medium • Design
Design a circular queue with enQueue, deQueue, Front, Rear, isEmpty, isFull in O(1).
Fixed-size array. front/rear indices wrap with modulo. One extra slot to distinguish full from empty.
Input: capacity=3, enQueue(1), enQueue(2), enQueue(3), enQueue(4)=false, rear=3, deQueue(), enQueue(4), rear=4
EnQueueO(1)append at rear
DeQueueO(1)advance front
SpaceO(k)k=capacity
Step0/10
front=0 rear=0 Array: [ _, _, _ ]
Ready
Press Play or Step. Circular array with front/rear. (rear+1)%(k+1)==front means full. front==rear means empty.