所谓“循环队列”是指用单向循环链表或者循环数组表示的队列。
所谓“循环队列”是指用单向循环链表或者循环数组表示的队列。
参考答案和解析
错误
相关考题:
● 栈和队列都是线性的数据结构。以下关于栈和队列的叙述中,正确的是 (37) 。(37)A. 栈适合采用数组存储,队列适合采用循环单链表存储B. 栈适合采用单链表存储,队列适合采用数组存储C. 栈和队列都不允许在元素序列的中间插入和删除元素D. 若进入栈的元素序列确定,则从栈中出来的序列也同时确定
若循环队列以数组Q[0...m-1]作为其存储结构,变量rear表示循环队列中队尾元素的实际位置,其移动按rear=(rear+1)mod m进行,变量length表示当前循环队列中的元素个数,则循环队列的队首元素的实际位置是______。A.rear-lengthB.(rear-length+m)mod mC.(1+rear+m-length)mod mD.m-length
队列采用如下图所示的循环单链表表示,图(a)表示队列为空,图(b)为e1、e2.e3依次入队列后的状态,其中,rear指针指向队尾元素所在结点,size为队列长度。以下叙述中,正确的是( )。A.入队列时需要从头至尾遍历链表,而出队列不需要B.出队列时需要从头至尾遍历链表,而入队列不需要C.新元素加入队列以及队头元素出队列都需要遍历链表,D.入队列和出队列操作都不需要遍历链表
试题四(共 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;﹜
队列的特点是先进先出,若用循环单链表表示队列,则( )。A.入队列和出队列操作都不需要遍历链表B.入队列和出队列操作都需要遍历链表C.入队列操作需要遍历链表而出队列操作不需要D.入队列操作不需要遍历链表而出队列操作需要
在数组表示的循环队列中,front、rear分别为队列的头、尾指针,maxSize为数组的最大长度,队满的条件是()A、front=maxSizeB、(rear+1)%maxSize=frontC、rear=maxSizeD、rear=front
单选题在数组表示的循环队列中,front、rear分别为队列的头、尾指针,maxSize为数组的最大长度,队满的条件是()Afront=maxSizeB(rear+1)%maxSize=frontCrear=maxSizeDrear=front
判断题采用循环链表作为存储结构的队列就是循环队列。A对B错