循环队列A[0..n-1]存放其元素值,用F和R分别表示队头和队尾,则当前队列中的元素数是()。A.(R-F+n)%nB.R-F+1C.R-F-1D.R-F

题目

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

A.(R-F+n)%n

B.R-F+1

C.R-F-1

D.R-F


相似考题
参考答案和解析
A 根根据图3—5,我们可以得到当前元素的计算方法为rear-front。许多考生会马上选择D。然而D是不正确的。我们不妨考虑下以下情况:若rear=0,front=3时,此时队列中的元素为9个,而根据选项B计算出的元素数是-3。元素个数不可能为负,因此D是错误的。我们再去看其他三个选项,很明显,只有A是正确的。A选项的公式可以当作一个结论记下来,在其他的题目中会经常用到。
更多“循环队列A[0..n-1]存放其元素值,用F和R分别表示队头和队尾,则当前队列中的元素数是()。”相关问题
  • 第1题:

    下列叙述中正确的是( )。

    A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

    B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

    C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

    D.循环队列中元素的个数是由队头指针和队尾指针共同决定的


    正确答案:D
    D【解析】循环队列中元素的个数是由队头指针和队尾指针共同决定的,元素的动态变化也是通过队头指针和队尾指针来反映的。

  • 第2题:

    设循环队列中数组的下标是0~N-1,其队头、队尾指针分别为f和r(f指向队首元素的前一位置,r指向队尾元素),则其元素个数为()。

    A.r-f

    B.r-f-1

    C.(r-f)%N+1

    D.(r-f+N)%N


    参考答案:D

  • 第3题:

    循环队列中,设队列元素依次存放在Q[0..m]中,f、r分别指示队头元素位置和队尾元素的下一个位置,约定存储m个元素时为队满。则队列空的判定方法是(),队列满的判定方法是()。

    A.f==r

    B.(f+1)%(m+1)==r

    C.(r+1)%(m+1)==f

    D.(r+1)% m==f


    参考答案:A,C

  • 第4题:

    循环队列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。

  • 第5题:

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

  • 第6题:

    对于循环队列,下列叙述中正确的是( )。

    A.循环队列中元素的个数是由队头指针和队尾指针共同决定的

    B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

    C.在循环队列中,队头指针一定大于队尾指针

    D.在循环队列中,队头指针一定小于队尾指针


    正确答案:A
    循环队列是将顺序队列首尾相连形成的,随着插入元素或删除元素的进行,其队头指针及队尾指针是在不断变化的,有时可能会出现队头指针大于队尾指针的情况,也可能是队尾指针大于队头指针。

  • 第7题:

    以数组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。

  • 第8题:

    在循环队列中用数组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

  • 第9题:

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


    正确答案:5

  • 第10题:

    设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()

    • A、R-F
    • B、F-R
    • C、(R-F+M)%M
    • D、(F-R+M)%M

    正确答案:C

  • 第11题:

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

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

  • 第12题:

    单选题
    设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()
    A

    R-F

    B

    F-R

    C

    (R-F+M)%M

    D

    (F-R+M)%M


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

  • 第13题:

    对于循环队列,下列叙述中正确的是( )。

    A.循环队列中元素的个数是由队头指针和队尾指针共同决定

    B.在循环队列中,需要队头指针就能反映队列中元素的动态变化情况

    C.在循环队列中,队头指针一定大于队尾指针

    D.在循环队列中,队头指针一定小于队尾指针


    正确答案:A
    循环队列是将顺序队列首尾相连形成的,随着插入元素或删除元素的进行,其队头指针及队尾指针是在不断变化的,有时可能会出现队头指针大于队尾指针的情况,也可能是队尾指针大于队头指针。

  • 第14题:

    设循环队列的存储空间为a[ 0..20],且当前队头指针和队尾指针的值分别为8和3,则该队列中元素的个数为()。

    A.5

    В.6

    C.16

    D.17


    参考答案:C

  • 第15题:

    下列叙述中正确的是______。

    A.循环队列中有队头和卧尾两个指针,因此,循环队列是非线牲结构

    B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

    C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

    D.循环队列中元素的个数是由队头指针和队尾指针共同决定


    正确答案:D
    解析:所谓循环队列,就是将队列存储空间的最后一个位置绕到第1个位置,形成逻辑上的环状空间,供队列循环使用。所以循环队列还是属于线性结构,所以选项A是错误的。循环队列的头指针front指向队列的第一个元素的前一位置,队尾指针rear指向队列的最后一个元素,循环队列的动态变化需要头尾指针共同反映,所以选项B、C是错误的。循环队列的长度是:(sq.rear-sq.front+maxsize)%maxsize,所以循环队列的长度是由队头和队尾指针共同决定的,所以选项D正确。

  • 第16题:

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

  • 第17题:

    下列叙述中正确的是( )。【考点4队列】

    A.循环队列有队头和队尾两个指针,因此循环队列是非线性结构

    B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

    C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

    D.循环队列中元素的个数是由队头指针和队尾指针共同决定的


    正确答案:D
    循环队列中元素的个数是由队头指针和队尾指针共同决定的,元素的动态变化也是通过队头指针和队尾指针来反映的。

  • 第18题:

    数组Q[0..n-1]作为一个环形队列,f为当前队头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数总小于n,队列中元素的个数是( )。

    A.r-f

    B.n+f-r

    C.n+r-f

    D.(n+r-f)modn


    正确答案:D

  • 第19题:

    设顺序循环队列Q[O:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()。

    A.(F-R+M)%M
    B.F-R
    C.(R-F+M)%M
    D.R-F

    答案:C
    解析:
    (R-F+M)%M是计算顺序循环队列元素个数的公式。

  • 第20题:

    假设以数组Q[m]存放循环队列中的元素,同时以rear和length分别只是循环队列中的队尾位置和队列中的所含元素的个数,则该循环的队列的对满条件为()。


    正确答案:length==Maxsize

  • 第21题:

    一个循环队列Q的存储空间大小为M,其队头和队尾指针分别为front和rear,则循环队列中元素的个数为:()。


    正确答案:(rear-front+M)%M

  • 第22题:

    填空题
    一个循环队列Q的存储空间大小为M,其队头和队尾指针分别为front和rear,则循环队列中元素的个数为:()。

    正确答案: (rear-front+M)%M
    解析: 暂无解析

  • 第23题:

    单选题
    下列叙述中正确的是(  )。
    A

    循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

    B

    在循环队列中,只需要队头指针就能反映队列中元素的动态变化

    C

    在循环队列中,只需要队尾指针就能反映队列中元素的动态变化

    D

    循环队列中元素的个数由队头指针和队尾指针共同决定


    正确答案: A
    解析:
    循环队列是顺序存储的线性结构,是队列常采用的形式,故A项错误。循环队列中的元素是动态变化的:每一次入队,队尾指针就进一;每一次出队,队头指针就进一,所以队头指针和队尾指针一起反映了队列中元素的动态变化情况,BC两项错误。从队头指针指向的后一个位置与队尾指针指向的位置之间的元素即为队列中所有的元素,答案选择D选项。

  • 第24题:

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

    (rear-front+m)%m

    B

    rear-front+1

    C

    rear-front-1

    D

    rear-front


    正确答案: B
    解析: