更多“数组Q[0...n-1]作为一个环形队列,f为当前队头元素的前一位置,r为队尾元素的位置,则队列中元素个 ”相关问题
  • 第1题:

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

    A.r-f

    B、(n+f-r)%n

    C、n+r-f

    D、(n+r-f)%n


    参考答案:D
    解释:对于非循环队列,尾指针和头指针的差值便是队列的长度,而对于循环队列,差值可能为负数,所以需要将差值加上MAXSIZE(本题为n),然后与MAXSIZE(本题为n)求余,即(n+r-f)%n。

  • 第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,1,2,…,n]用来表示一个循环队列,f为当前队头元素的前一位置,r为队尾元素的位置,假定队列中元素的总个数小于n,计算队列中元素个数的公式为______。

    A.r-f

    B. n+f-r

    C. n+r-f

    D. (n+r-f)mod n


    正确答案:D
    解析: 参见循环队列的定义和性质。

  • 第4题:

    设某循环队列的容量为50,头指针front=5(指向队头元素的前-位置),尾指针rear=29(指向队尾元素),则该循环队列中共有—________个元素。


    正确答案:
    24【分析】本题主要考查考生对循环队列的存储形式和入队运算、出队运算的理解。循环队列的初始状态为满或空(front=50,rear=50),出队:front=front+1(若front=50,则将1赋值给front),入队:rear=rear+1(若rear=51,则将1赋值给rear)。
    我们现在来模拟从循环队列的初始状态,经过多少次入队WWW出队操作来达到最终状态front=5,rear=29。
    假设循环队列的初始状态为满(front=50,rear=50),只能先出队,然后再入队。将一个元素出队,front=50+l=51,根据循环队列的规定应该将l赋值给front,即front=1,再将一个元素出队,front=1+1=2,直到出队5个元素,front=5。5个元素出队了,空出了5个空间,所以元素可以入队,将一个元素入队,rear=50+1=51,根据循环队列的规定应
    该将l赋值给rear,即rear=1,再将一个元素入队,rear=1+1=2,直到入队29个元素,rear=29。由于出队只空出5个空间,所以无法入队29个元素。因此循环队列的初始状态为满不成立。
    假设循环队列的初始状态为空(front=50,rear=50),只能先入队,然后再出队。rear=29,表示有29个元素入队了,也即队列中只有29个元素。现在front=5,表示要有5个元素出队,队列中只剩下29—5=24个元素。因此循环队列的初始状态只能为空。队列中有24个元素。
    同理,若循环队列的最终状态为front=29,rear=5,我们可以肯定循环队列的初始状态为满,则队中有50—29+5=26个元素。
    若循环队列的最终状态为front=29,rear=29,我们可以肯定循环队列为满或空,所以循环队列中有50或O个元素。
    总结,规律如下:若front>rear,队列中有n-front+rear个元素(其中n为循环队列的容量);若front<rear,队列中有rear-front个元素;若front=rear,队列中有n个或0个元素。因此本题的正确答案是24。

  • 第5题:

    在循环队列中,front指向队头元素的前一个位置,rear指向队尾元素的位置,则队满的条件是front=rear。


    正确答案:错误

  • 第6题:

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

    • A、r-f;
    • B、(n+f-r)%n;
    • C、n+r-f;
    • D、(n+r-F.%n

    正确答案:D

  • 第7题:

    用数组Q表示一个环形队列,f为当前对头元素的钱一位置,r为队尾元素的位置。假定队列中元素个数总小于n,求队列中元素个数公式是()。


    正确答案:(r-f+n)%n

  • 第8题:

    在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则删除一个元素后队首的位置为()。


    正确答案:(first+l)%MS

  • 第9题:

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

    Q[4]

    B

    Q[5]

    C

    Q[14]

    D

    Q[15]


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

  • 第10题:

    填空题
    在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则删除一个元素后队首的位置为()。

    正确答案: (first+l)%MS
    解析: 暂无解析

  • 第11题:

    单选题
    设顺序循环队列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
    解析: 暂无解析

  • 第12题:

    填空题
    数组Q[n]用来表示一个循环队列,front为队头元素的前一个位置,rear为队尾元素的位置,计算队列中元素个数的公式为()。

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

  • 第13题:

    数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素的公式为

    A. r-f

    B. (n+f-r)% n

    C. n+r-f

    D. (n+r-f)% n


    正确答案:D

  • 第14题:

    循环队列中,设队列元素依次存放在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

  • 第15题:

    在一个顺序存储的循环队列中,队头指针指向队头元素的( )。

    A.前一个位置

    B.后一个位置

    C.队头元素位置

    D.队尾元素的前一位置


    正确答案:A
    解析:在循环队列中,为了判断队列满和队列空的情况,对队列少用一个元素空间,使头指针指向队头元素的前一个位置,当尾指针等于该位置时就表示队满。

  • 第16题:

    设顺序循环队列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是计算顺序循环队列元素个数的公式。

  • 第17题:

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

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

    正确答案:D

  • 第18题:

    数组Q[n]用来表示一个循环队列,front为队头元素的前一个位置,rear为队尾元素的位置,计算队列中元素个数的公式为()。


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

  • 第19题:

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

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

    正确答案:B

  • 第20题:

    设顺序循环队列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

  • 第21题:

    单选题
    数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素的公式为()
    A

    r-f;

    B

    (n+f-r)%n;

    C

    n+r-f;

    D

    (n+r-F.%n


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

  • 第22题:

    单选题
    数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为()。
    A

    r-f

    B

    (n+f-r)%n

    C

    n+r-f

    D

    (n+r-f)%n


    正确答案: A
    解析: 对于非循环队列,尾指针和头指针的差值便是队列的长度,而对于循环队列,差值可能为负数,所以需要将差值加上MAXSIZE(本题为n),然后与MAXSIZE(本题为n)求余,即(n+r-f)%n。

  • 第23题:

    填空题
    用数组Q表示一个环形队列,f为当前对头元素的钱一位置,r为队尾元素的位置。假定队列中元素个数总小于n,求队列中元素个数公式是()。

    正确答案: (r-f+n)%n
    解析: 暂无解析