队列采用如下图所示的循环单链表表示,图(a)表示队列为空,图(b)为e1、e2.e3依次入队列后的状态,其中,rear指针指向队尾元素所在结点,size为队列长度。以下叙述中,正确的是( )。A.入队列时需要从头至尾遍历链表,而出队列不需要B.出队列时需要从头至尾遍历链表,而入队列不需要C.新元素加入队列以及队头元素出队列都需要遍历链表,D.入队列和出队列操作都不需要遍历链表

队列采用如下图所示的循环单链表表示,图(a)表示队列为空,图(b)为e1、e2.e3依次入队列后的状态,其中,rear指针指向队尾元素所在结点,size为队列长度。以下叙述中,正确的是( )。

A.入队列时需要从头至尾遍历链表,而出队列不需要B.出队列时需要从头至尾遍历链表,而入队列不需要C.新元素加入队列以及队头元素出队列都需要遍历链表,D.入队列和出队列操作都不需要遍历链表


相关考题:

用循环单链表表示的链队列中,可以不设队头指针,仅在队尾设置队尾指针。() 此题为判断题(对,错)。

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

一个栈的初始状态为空。现将元素A,B,C,D,E依次入栈,然后依次退栈三次,并将退栈的三个元素依次入队(原队列为空),最后将队列中的元素全部退出。则元素退队的顺序为()。A.ABCB.CBAC.EDCD.CDE

设循环队列为Q(1:m),初始状态为front=rear=m。现经一系列入队与退队操作后,front=rear=m-1,则()。A.该循环队列已空B.该循环队列已满C.该循环队列中有1个元素D.该循环队列已空或已满

若in、out分别表示入队、出队操作,初始队列为空且元素a、b、c依次入队,则经过操作序列in、in、out、out、in、out之后,得到的出队序列为(30)。A.cbaB.bacC.bcaD.abc

假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素站点(注意不设头指针) ,试编写相应的置空队、判队空 、入队和出队等算法。

● 某循环队列的容量为 M,队头指针指向队头元素,队尾指针指向队尾元素之后,如下图所示(M=8) ,则队列中的元素数目为 (41) (MOD表示整除取余运算) 。(41)A. rear – frontB. front – rearC. (rear –front + M) MOD MD. (front – rear + M) MOD M

若in、out分别表示入、出队操作,初始队列为空且元素a、b、c依次入队,则经过操作序列in、in、out、out、in、out之后,得到的出队序列为______。A.cbaB.bacC.bcaD.abe

某循环队列的容量为M,队头指针指向队头元素,队尾指针指向队尾元素之后,如下图所示(M=8),则队列中的元素数目为(41)(MOD表示整除取余运算)。A.rear-frontB.front-rearC.(rear-front+M)MODMD.(front-rear+M)MOD M

下列叙述正确的是( )。A.非空循环队列的队尾指针等于排头指针时,也可以进行入队运算B.循环队列为空时可以进行退队运算C.退队运算后队列长度减1D.入队运算就是将新元素插入到队尾指针指向的位置

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

试题四(共 15 分)阅读以下说明和 C 函数,填补函数中的空缺,将解答填入答题纸的对应栏内。【说明】简单队列是符合先进先出规则的数据结构,下面用不含有头结点的单向循环链表表示简单队列。函数 enqueue(queue *q,KeyType new_elem) 的功能是将元素new_elem 加入队尾。函数 Dnqueue(queue *q,KeyType *elem)的功能使将非空队列的队头元素出队(从队列中删除),并通过参数带回刚出队的元素。用单向循环链表表示的队列如图 4-1 所示。图 4-1 单向循环链表表示的队列示意图队列及链表结点等相关类型定义如下:enum {errOr, OK};typedef int KeyType;typedef struct qNode﹛KeyType data;Struct qNode*next;﹜qNode,*Linkqueue; Typedef struct﹛int size;Link:queue rear;}queue; 【C 函数】int enqueue(queue*q,KeyType new_elem)﹛ //元素 new_elem 入队列qNode*p;P=(qNode*)malloc(sizeof(qNode));if(!p)return errOr;P->data=new_elem;if(q->rear)﹛P->next=q->rear->next;();﹜elseP->next=p;﹙﹚;q->size++;return OK;﹜ int Dequeue(queue*q,KeyType*elem)﹛ //出队列qNode*p;if(0==q->size) //是空队列return errOr;P=(); //令 p 指向队头元素结点*elem =p->data;q->rear->next=(); //将队列元素结点从链表中去除if(()) //被删除的队头结点是队列中唯一结点q->rear=NULL //变成空队列free(p);q->size--;return OK;﹜

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

若in、out分别表示入队、出队操作,初始队列为空且元素a、b、c依次入队,则经过操作序列in、in、out、out、in、out之后,得到的出队序列为 ( ) 。A.cbaB.bacC.bcaD.abc

若用单链表来表示队列,则应该选用()。A.带尾指针的非循环链表B.带尾指针的循环链表C.带头指针的非循环链表D.带头指针的循环链表

队列的特点是先进先出,若用循环单链表表示队列,则( )。A.入队列和出队列操作都不需要遍历链表B.入队列和出队列操作都需要遍历链表C.入队列操作需要遍历链表而出队列操作不需要D.入队列操作不需要遍历链表而出队列操作需要

在用单链表表示的链式队列中,队头在链表的链尾位置。

对于单链表形式的队列,其空队列的F指针和R指针都等于()。

用循环链表表示的队列长度为n,若只设头指针,则出队和入队的时间复杂度分别是()和()。

用循环单链表表示的链队列中,可以不设队头指针,仅在队尾设置队尾指针。

循环队列的队头指针为f,队尾指针为r,当()时表明队列为空。

循环队列的最大存储空间为MaxSize=8,采用少用一个元素空间以有效的判断栈空或栈满,若队头指针front=4,则当队尾指针rear=()时,队列为空,当rear=()时,队列有6个元素。

判断题在用单链表表示的链式队列中,队头在链表的链尾位置。A对B错

填空题循环队列的最大存储空间为MaxSize=8,采用少用一个元素空间以有效的判断栈空或栈满,若队头指针front=4,则当队尾指针rear=()时,队列为空,当rear=()时,队列有6个元素。

填空题循环队列的队头指针为f,队尾指针为r,当()时表明队列为空。

判断题在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。()A对B错

判断题用循环单链表表示的链队列中,可以不设队头指针,仅在队尾设置队尾指针。A对B错