All problems
Circular Queue Simulation
Problem
Simulate a fixed-size circular queue (ring buffer) with the given capacity.
operations contains "enqueue", "dequeue", "front", "rear", "is_empty", or "is_full". enqueue returns False when full and True otherwise, dequeue returns the removed value (or None when empty), front and rear return the end values or None, and the last two return booleans.
Return the list of recorded results.
Hint
Track head and count; the tail position is (head + count - 1) % capacity.
Test cases
case 1
in: [3,["enqueue","enqueue","enqueue","enqueue","front","rear","dequeue","enqueue","front","rear"],[1,2,3,4,0,0,0,5,0,0]]
expected: [true,true,true,false,1,3,1,true,2,5]
case 2
in: [1,["enqueue","dequeue","is_empty","enqueue","is_full"],[1,0,0,2,0]]
expected: [true,1,true,true,true]
case 3
in: [2,["dequeue","front","rear","is_empty"],[0,0,0,0]]
expected: [null,null,null,true]
case 4
in: [2,["enqueue","dequeue","enqueue","rear"],[9,0,8,0]]
expected: [true,9,true,8]
Starter codePython
def circular_queue(capacity, operations, values):
# Your code here
pass4 test cases · run your code against them in the editor