问题 单项选择题

设循环队列Q的定义中有rear和len两个域变量,其中rear表示队尾元素的指针,len表示队列的长度,如下图所示(队列长度为3,队头元素为e)。设队列的存储空间容量为M,则队头元素的指针为()。

A.(Q.rear+Q.len-1)

B.(Q.rear+Q.len-1+M)%M

C.(Q.rear-Q.len+1)

D.(Q.rear-Q.len+1+M)%M

答案

参考答案:D

解析:

[要点解析] 设队列的队头指针为front,front指向队头元素。队列的存储空间容量为M,说明队列中最多可以有M个元素;队列的长度为len,说明当前队列中有len个元素。则有:

Q.rea=(Q.front+Q.len-1)%M

Q.front=(Q.rear-Q.len+1+M)%M

[*]

选择题
问答题 简答题