第20892题
给定容量为5(空一格判满)的循环队列代码,执行main函数操作后队列是否已满?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

提交0次 正确率0.00%
答案解析