在一个循环队列中,队列的容量为QueueSize,当前队列的状态为rear=2,front=4,QueueSize=5。此时,以下哪个操作会导致队列状态变为队空?

答案解析

当前rear=2,front=4,QueueSize=5,队列中元素个数为(rear-front+QueueSize)mod QueueSize=(2-4+5)mod 5=3,队列未空。执行一次入队操作后,rear=3,front=4,元素个数为(3-4+5)mod 5=4,仍未空。执行一次出队操作后,rear=2,front=0,元素个数为(2-0+5)mod 5=2,仍未空。执行两次入队操作后,rear=4,front=4,元素个数为(4-4+5)mod 5=0,此时队列空。执行两次出队操作后,rear=2,front=1,元素个数为(2-1+5)mod 5=1,仍未空。因此,只有执行两次入队操作会导致队列状态变为队空。
正确答案:C
随机推荐
开始刷题