设循环队列Q的定义中有.real和size两个域变量,其中,rear指示队尾元素之后的位置,size表示队列的长度,如下图所示(队列长度为3,队头元素为x)。设队列的存储空间容量为M,则队头元素的位置为_____________。

admin2013-07-03  27

问题 设循环队列Q的定义中有.real和size两个域变量,其中,rear指示队尾元素之后的位置,size表示队列的长度,如下图所示(队列长度为3,队头元素为x)。设队列的存储空间容量为M,则队头元素的位置为_____________。
   

选项 A、(Q.reai-Q.size+1)
B、(Q.rear-Q.size+1)%M
C、(Q.rear-Q.size)
D、(Q.rear-Q.size+M)%M

答案D

解析 设队列的队头指针为front,front指向队头元素。队列的存储空间容量为M,说明队列中最多可以有M个元素;队列的长度为len,说明当前队列中有len个元素。则有:
    Q.rear=(Q.front+Q.len一1)%M
    Q.front=(Q.rear—Q.len+1+M)%M
转载请注明原文地址:https://kaotiyun.com/show/zWVZ777K
0

最新回复(0)