假设循环队列数组长度为 ,队空判断条件为 front == rear 。入队和出队操作如下:
const int N = 7;
int q[N];
int front = 3, rear = 3;
void enqueue(int x) {
q[rear] = x;
rear = (rear + 1) % N;
}
void dequeue() {
front = (front + 1) % N;
}
依次执行:
enqueue(10);
enqueue(20);
enqueue(30);
dequeue();
enqueue(40);
dequeue();
enqueue(50);
最终 (front, rear) 的值是( )。
- A.
(5, 1) - B.
(4, 0) - C.
(5, 0) - D.
(3, 1)