设循环队列Q的定义中有front和size两个域变量,其中front表示队头元素的指针,size表示队列的长度,

题目

设循环队列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

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针 变量s指向将要入队列的结点X,则入队列的操作序列为()。

A.front->next=s;front=s;

B.s->next=rear;rear=s;

C.rear->next=s;rear=s;

D.s->next=front;front=s;


C

第2题:

假设有循环队列Q,存放数据元素的队列长度为M,设Q.front指向队列中队头元素, Q.rear指向队尾元素的下一个位置,则 表示队为空,而 表示队满。


错误

第3题:

设循环队列采用一维数组A[0...15]存储,队头指针front=10,元素个数size=6,在插入两个新元素后,队尾位置是()

A.0

B.1

C.15

D.17


1

第4题:

设某循环队列Q的定义中有front和rear两个域变量,其中,front指示队头元素的位置,rear指示队尾元素之后的位置,如下图所示。若该队列的容量为M,则其长度为(57)。

A.(Q.rear-Q.front+1)
B.(Q.rear-Q.front+M)
C.(Q.rear-Q.front+1)%M
D.(Q.rear-Q.front+M)%M

答案:D
解析:
本题考查数据结构基础知识。根据题目中所给的示意图,Q.front为队头元素的指针,Q.rear表示队尾元素之后的一个空位置,故队列长度为Q.rear-Q.front,由于队列中存储位置编号是在0~M-1之间循环的,Q.rear-Q.front的结果有可能是负数,故在Q.rear-Q.front基础上加上M可恢复为正数,而此正数有可能超出0~M-1的范围,故用整除,M取余运算恢复一下,因此长度计算的式子为(Q.rear-Q.front+M)%M。

第5题:

设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为()。

A.s->next=rear;rear=s;
B.front->next=s;front=s;
C.rear->next=s;rear=s;
D.s->next=front;front=s;

答案:C
解析:
向队列插入元素,即入队操作,应该在队尾进行,所以需要修改尾指针,实现新结点的人队。

第6题:

某循环队列Q 的定义中用 front和 rear 两个整型域变量表示队列状态,其中 front 指示队头元素的位置、rear 指示队尾元素之后的位置(如下图所示,front的值为5、rear 的值为 1)。若队列容量为M(下图中 M=6),则计算队列长度的通式为()

A.(Q.front-Q.rear)
B.(Q.front- Q.rear+M)%M
C.( Q.rear-Q.front)
D.(Q. rear-Q.front +M)%M

答案:D
解析:
根据题中的图示,当Q.rear-Q.front≥0时,队列长度为Q.rear-Q.front;当Q.rear-Q.front<0时,队列元素个数为(Q.rear-Q.front+M)。综上,队头元素的位置应该为(Q.rear-Q.size+M)%M。

第7题:

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

(57)

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

第8题:

循环队列Q的元素出队时的队头指针操作是()

A、rear=(rear+1)%size

B、rear=rear+1

C、front=(front+1)%size

D、front=(front-1)%size


参考答案:C

第9题:

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

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

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

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

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


正确答案:D
解析:按照正常线性存储的队列,队头元素的指针为(Q.rear-Q.len+1),而在循环队列里面,Q.rear-Q.1en+1可能会由于循环存储而变为负值,所以需要处理为(Q.rear-Q.1en+1+M)%M。