游乐园的过山车每次限坐 人,用循环队列管理排队(容量 MAX=5,空一格判断满)。下面代码执行后,循环队列是否已满?rear 的值是多少?
const int MAX = 5;
int queue[MAX];
int front = 0, rear = 0;
// 入队
void enqueue(int x) {
queue[rear] = x;
rear = (rear + 1) % MAX;
}
// 出队
void dequeue() {
front = (front + 1) % MAX;
}
int main() {
enqueue(1); enqueue(2); enqueue(3); enqueue(4);
dequeue(); dequeue();
enqueue(5); enqueue(6);
}
- A. 已满,
rear = 1 - B. 未满,
rear = 1 - C. 已满,
rear = 2 - D. 未满,
rear = 4