#3872. [GESP202603 六级 C++] 第 4 题

[GESP202603 六级 C++] 第 4 题

游乐园的过山车每次限坐 4 人,用循环队列管理排队(容量 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);
}

{{ select(1) }}

  • 已满,rear = 1
  • 未满,rear = 1
  • 已满,rear = 2
  • 未满,rear = 4