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

admin2021-01-13  24

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

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

答案B

解析 本题考查数据结构基础知识。根据题目中所给的示意图,Q.front为队头元素的指针,该指针加1后得到队列中的第2个元素(即y)的指针,由于队列中存储位置编号是在0~M.1之间循环的,队头指针加上1个增量后可能会超出该范围,应该用整除取余运算恢复一下,因此由Q.front可以算出队列尾部元素的指针为(Q.front+Q.size-1+M)%M。
转载请注明原文地址:https://kaotiyun.com/show/btCZ777K
0

相关试题推荐
最新回复(0)