参考答案和解析
正确答案:A
解析:本题考查循环队列的性质。循环队列是指把队列造成一个环状的空间,而队列中的其他关系仍保持不变。其头指针仍指向第一个元素,而尾指针仍指向最后一个元素。题目中告诉我们,循环队列中存放元素的空间为m,其头尾指针分别是front和rear,那么当前队列中的元素个数是(rear-front+m)%m个。
更多“循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是(31)。A.(rear-front+m)%mB.read-front+1C.read-front-1D.read-front”相关问题
  • 第1题:

    假设以数组A[m]存放循环队列的元素,其头尾指针分别为front和rear,则当前队列中的元素个数为()。

    A.(rear-front+m)%m

    B.rear-front+1

    C.(front-rear+m)%m

    D.(rear-front)%m


    正确答案:A

  • 第2题:

    某循环队列的容量为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。

  • 第3题:

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

    A.rear-front

    B.front-rear

    C.(rear-front+M)MODM

    D.(front-rear+M)MODM


    正确答案: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)MODM。本题正确答案为选项C。

  • 第4题:

    在循环队列中用数组A[0.m-1]存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是()。

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

    答案:D
    解析:
    D选项即为计算当前队列元素个数的公式。

  • 第5题:

    以数组Q[0…m-1]存放循环队列中的元素,若变量front和qulen分别指示循环队列中队头元素的实际位置和当前队列的长度,则队尾元素的实际位置是()。

    A.front+qulen-1
    B.(front+qulen)modm
    C.(front+qulen-1)modm
    D.front+qulen

    答案:C
    解析:
    循环队列的元素顺序存储在数组Q中,已知循环队列中队头元素的存储位置为front。当前队列的长度为qulen,队尾元素的位置要在front上加上qulen,然后减l(第一个元素存储在front的位置上),对于循环队列求队尾的位置还要对总长度求余,所以队尾元素的实际位置为(front+qulen-1)modm。

  • 第6题:

    循环队列用a[0],...,a[7]的一维数组存放队列元素,(采用少用一个元素的模式),设front和rear分别为队头和队尾指针,且front和rear 的值分别为2和7,当前队列中的元素个数是()。
    5

  • 第7题:

    在循环队列中用数组A[0..m-1]存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是()

    • A、(front-rear+1)%m
    • B、(rear-front+1)%m
    • C、(front-rear+m)%m
    • D、(rear-front+m)%m

    正确答案:D

  • 第8题:

    循环队列用数组A[0…m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是()

    • A、(rear-front+m)%m
    • B、read-front+1
    • C、read-front-1
    • D、read-front

    正确答案:A

  • 第9题:

    用数组A[0 … m-1]来存放循环队列的元素,且它的头尾指针分别为front 和rear, 队列满足条件(sq.rear + 1) % m == sq.front,队列中当前元素的个数为()


    正确答案:m-1

  • 第10题:

    单选题
    在循环队列中用数组A[0..m-1]存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是()
    A

    (front-rear+1)%m

    B

    (rear-front+1)%m

    C

    (front-rear+m)%m

    D

    (rear-front+m)%m


    正确答案: D
    解析: 暂无解析

  • 第11题:

    单选题
    循环队列A[0.m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是()。
    A

    (rear-front+m)%m

    B

    rear-front+1

    C

    rear-front-1

    D

    rear-front


    正确答案: B
    解析:

  • 第12题:

    单选题
    循环队列用数组A[0…m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是()
    A

    (rear-front+m)%m

    B

    read-front+1

    C

    read-front-1

    D

    read-front


    正确答案: A
    解析: 暂无解析

  • 第13题:

    循环队列A[0…m-1)存放其元素,用front和Feat分别表示队头和队尾,则循环队列满的条件是(35)。

    A.Q.rear+1==Q.front

    B.Q.rear==Q.front+1

    C.Q.rear==Q.front

    D.(Q.rear+1)%m==Q.front


    正确答案:D
    解析:本题考查队列的基本知识。队列也是一种特殊的线性表,只允许在一端进行插入,另一端进行删除运算。循环队列就是将实现队列的A[M]的第一个元素A[0]与最后一个元素A[M-1]连接起来。在循环队列中用队头和队尾表示队列满的条件是(Q.rear+1)%m==Q.front。

  • 第14题:

    用数组A[0…m-1]存放循环队列的元素值,若其头尾指针分别为front和rear,则循环队列中当前元素的个数为______。

    A.(rear-front+m) mod m

    B.(rear-front+m+1) mod m

    C.(rear-front+m-1) mod m

    D.(rear-front-m-1) mod m


    正确答案:A

  • 第15题:

    用数组A[0…m-1]存放循环队列的元素值,若其头尾指针分别为front和rear,则循环队列中当前元素的个数为______。

    A.(rear-front+m)mod m

    B.(rear-front+1)mod m

    C.(rear-front-1+m)mod m

    D.(rear-front)mod m


    正确答案:A

  • 第16题:

    一个循环队列Q最多可存储m个元素,已知其头尾指针分别是front和rear,则判定该循环队列为满的条件是()。

    A.Q.rear-Q.front==m
    B.Q.real!==Q.front
    C.Q.front==(Q.real+1)%m
    D.Q.front==Q.rear%m+1

    答案:C
    解析:
    少用一个元素空间和空队区别开:每次入队前测试入队后头尾指针是否会重合,如果会重合就认为队列已满,这种情况下队满的条件是:(Q.rear+1)%MAXSIZE==Q.front。

  • 第17题:

    循环队列用数组A[o…m-1]存放其元素值,已知其头尾指针分别为front和rear,则当前元素个数为()。

    A.(rear-front+m)modm
    B.rear-front+l
    C.rear-front-1
    D.rear-front

    答案:A
    解析:
    循环队列中rear和front分别指向队尾和队头,当rear>front时,元素的个数为rear-front,根据循环队列的性质,当插入点已经插入到数组A的最后位置且有新的元素插入时,会继续从数组的开始位置执行插入操作,此时rear<front,数组元素的个数为rear-front+m。综合两种情况,循环队列中当前元素的个数计算方法为:(rear-front+m)modm。

  • 第18题:

    循环队列sq中,用数组elem[0‥25]存放数据元素,sq.front指示队头元素的前一个位置,sq.rear指示队尾元素的当前位置,设当前sq.front为20,sq.rear为12,则当前队列中的元素个数为()。

    • A、8
    • B、16
    • C、17
    • D、18

    正确答案:D

  • 第19题:

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

    • A、Q[4]
    • B、Q[5]
    • C、Q[14]
    • D、Q[15]

    正确答案:B

  • 第20题:

    15.循环队列采用数组data()来存储元素的值,并用front和rear分别作为其头尾指针。为区分队列的满和空,约定队列中能够存放的元素个数最大为n—1,也即至少有一个元素空间不用,则在任意时刻,至少可以知道一个空的元素的下表是()。入队时,可用语句()切除新元素在数组data中的下标。


    正确答案:front;rear=rear+1;mod n

  • 第21题:

    填空题
    15.循环队列采用数组data()来存储元素的值,并用front和rear分别作为其头尾指针。为区分队列的满和空,约定队列中能够存放的元素个数最大为n—1,也即至少有一个元素空间不用,则在任意时刻,至少可以知道一个空的元素的下表是()。入队时,可用语句()切除新元素在数组data中的下标。

    正确答案: front,rear=rear+1,mod n
    解析: 暂无解析

  • 第22题:

    填空题
    循环队列用a[0],...,a[7]的一维数组存放队列元素,(采用少用一个元素的模式),设front和rear分别为队头和队尾指针,且front和rear 的值分别为2和7,当前队列中的元素个数是()。

    正确答案: 5
    解析: 暂无解析

  • 第23题:

    填空题
    用数组A[0 … m-1]来存放循环队列的元素,且它的头尾指针分别为front 和rear, 队列满足条件(sq.rear + 1) % m == sq.front,队列中当前元素的个数为()

    正确答案: m-1
    解析: 暂无解析