设循环队列的结构如题33。若有一个Queue类型的队列Q,计算队列元素个数应该用(34)。A.(Q.rear-Q.front+ MaxSize)%MaxSize;B.Q.rear-Q.front+1;C.Q.rear-Q.front-1;D.Q.rear-Qfront;

设循环队列的结构如题33。若有一个Queue类型的队列Q,计算队列元素个数应该用(34)。

A.(Q.rear-Q.front+ MaxSize)%MaxSize;

B.Q.rear-Q.front+1;

C.Q.rear-Q.front-1;

D.Q.rear-Qfront;


相关考题:

数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为()。 A.r-fB、(n+f-r)%nC、n+r-fD、(n+r-f)%n

设循环队列的结构是: const int MaxSize=100; typedef int Data Type; typedef struct { DataType data[MaxSize]; int front, rear; }Queue; 若有一个Queue类型的队列Q,试问判断队列满的条件应是(33)。A.Q.front=Q.rear;B.Q.front-Q.rear==MaxSize;C.Q.front+Q.rear=MaxSize;D.Q.front==(Q.rear+1)%MaxSize;

试题四(共 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;﹜

【3-1-6】设循环队列的存储容量为maxSize,队头和队尾指针分别为front和rear。若有一个循环队列Q,可应用下列语句()计算队列元素个数? A.Q.rear-Q.front B.Q.rear-Q.front+1 C.(Q.rear-Q.front)%maxSize+1 D.(Q.rear-Q.front+maxSize)%maxSize

【EX-3-1-6】设循环队列的存储容量为maxSize,队头和队尾指针分别为front和rear。若有一个循环队列Q,可应用下列语句()计算队列元素个数? A.Q.rear-Q.front B.Q.rear-Q.front+1 C.(Q.rear-Q.front)%maxSize+1 D.(Q.rear-Q.front+maxSize)%maxSize

10、设循环队列的元素存放在一维数组Q[0‥30]中,队列非空时,front指示队头元素的前一个位置,rear指示队尾元素。如果队列中元素的个数为11,front的值为25,则rear应指向的元素是()A.Q[5]B.Q[4]C.Q[14]D.Q[15]

设循环队列的存储容量为maxSize,队头和队尾指针分别为front和rear。若有一个循环队列Q,需用语句()计算队列元素个数。A.Q.rear-Q.frontB.Q.rear-Q.front+1C.(Q.rear-Q.front)%maxSize+1D.(Q.rear-Q.front+maxSize)%maxSize

另类循环队列,如果用一个循环数组表示队列,并且只设队列头指针Front,不设尾指针Rear,而是另设Count记录队列中元素个数。请编写算法实现队列的入队和出队操作。

设循环队列的元素存放在一维数组Q[0‥30]中,队列非空时,front指示队头元素的前一个位置,rear指示队尾元素。如果队列中元素的个数为11,front的值为25,则rear应指向的元素是()A.Q[5]B.Q[4]C.Q[14]D.Q[15]