数据结构

在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队空的条件为()A、rear%n= = frontB、front+l= rearC、rear= = frontD、(rear+l)%n= front

题目

在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队空的条件为()

  • A、rear%n= = front
  • B、front+l= rear
  • C、rear= = front
  • D、(rear+l)%n= front
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

假定一个链队的队首和队尾指针分别为front和rear,则判断队空的条件为______。

A.front=rear

B.front!=NULL

C.rear!=NULL

D.front=NULL


正确答案:D

第2题:

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

(41)

A. rear – front

B. front – rear

C. (rear –front + M) MOD M

D. (front – rear + M) MOD M


正确答案:C

第3题:

设循环队列用C语言数组A[m]表示,front指针指向真正队头的前一个位置,rear指针指向真正队尾,队列中当前元素个数为n,则(1)若已知front、rear,则n=()。(2)若已知front、n,则rear=()。(3)若已知rear、n,则front=()。


参考答案:n=(rear-front+m)%mrear=(front+n)%mfront=(rear-n+m)%m

第4题:

假设以数组A[n]存放循环队列的元素,其头指针front指向队头元素的前一个位置、尾指针rear指向队尾元素所在的存储位置,则在少用一个元素空间的前提下,队列满的判定条件为 ( )

A.rear==front

B.(front+1)%n==rear

C.rear+1==front

D.(rear+1)%n==front


正确答案:D
解析:在循环队列中,在少用一个元素空间的前提下,可约定入队前,测试尾指针在循环意义下加1后是否等于头指针,若相等则认为队满。

第5题:

在具有n个单元的顺序存储的循环队列中,假定指针front和rear分别指向队首和队尾,则判断队列为空的条件是(38),如果约定“以队尾指针所指位置的下一个位置是队首指针”表示队满,那么队列为满当且仅当(39)。

A.front=rear+1

B.rear=front+1

C.front=real

D.front=0


正确答案:C
解析:判断队列是否为空的条件是队首指针和队尾指针是否指向同一位置。

第6题:

最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的条件是()。

A.(rear+1)MODn=front

B.rear=front

C.rear+1=front

D.(rear-l)MODn=front


正确答案:B

第7题:

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

A.rear-front

B.front-rear

C.(rear-front+M)MODM

D.(front-rear+M)MOD M


正确答案:C
解析:本题考查数据结构中队列的础知识。队列是仅在表头删除元素、在表尾插入元素的操作受限的线性表,其特点是先入先出。应用中可以将队列看作容器。队列采用顺序存储结构(一维数组,顺序队列)时,为了降低运算的复杂度,元素入队时,只需修改队尾指针rear,(rear+1→rear);元素出队时,只需修改队头指针front(front+1→front)。由于顺序队列的存储空间是提前设定的,所以队尾指针会有一个上限值,当队尾指针达到其上限时,就不能只通过修改队尾指针来实现新元素的入队操作了。此时,可将顺序队列假想成一个环状结构,称为循环队列。队列容量为M时,队头指针front和队尾指针rear的值循环地在0~M-1之间变化,当rear>front时,队列中元素数目为rear-front;当rearfront时,队列中元素数目为rear-front +M。综上,队列中元素数目为(rear-front+M)MOD M。

第8题:

在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为()。

A、front=front->next

B、rear=rear->next

C、rear=front->next

D、front=rear->next


参考答案:A

第9题:

假定一个链队列的队首和队尾指针分别为front和rear,则判断队空的条件为( )。

A.front==rear

B.front!=NULL

C.rear!=NULL

D.front==NULL


正确答案:D
解析:链队列是用链表的方法来表示的队列,对链队列的插入删除操作只需要修改头指针或尾指针,当删除头指针时,若队列中还有其他元素,则头指针指向其直接后继,若删除非头指针,否则头指针保持不变,也就是说只要队列不空,头指针始终指向一个元素。

第10题:

若非空队列采用链式存储结构,队头指针与队尾指针分别为front和rear,则删除队列的一个元素的过程是依次执行:p=front;,(),free(p);。

  • A、rear=p;
  • B、rear=p->link;
  • C、front=p->link;
  • D、front=rear->link;

正确答案:C

更多相关问题