更多“( 2 ) 设某循环队列的容量为 50 , 如果头指针 front=45 ( 指向队头元素的前一位置 ) , 尾指rear= ”相关问题
  • 第1题:

    设某循环队列的容量为50,如果头指针front=45(指向队头元索的前一位置),尾指针Teatr=lO(指向队尾元素),则该循环队列中共有【 】个元素。


    正确答案:15
    15 解析:计算队列中元素个数的公式为:(read-front+MAXQSIZE)%MAxQSIZE,其中MAXQSIZE为队列的容量,所以该队列中的元素为(10-45+50)%50=15。

  • 第2题:

    设某循环队列的容量为50,如果头指针front=15(指向队头元素的前-位置),尾指针rear=10(指向队尾元素),则该循环队列中共有元素个数为( )。

    A.5

    B.15

    C.35

    D.40


    正确答案:B
    队列个数-rear—front+容量。

  • 第3题:

    设某循环队列的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针Year=10(指向队尾元素),则该循环队列中共有【 】个元素。


    正确答案:15
    15 解析:计算队列中元素个数的公式为:(read-front+MAXQSIZE)%MAXQSIZE,其中M.AXQSIZE为队列的容量,所以该队列中的元素为(10-45+50)%50=15。

  • 第4题:

    设某循环队列的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有元素个数为( )。

    A.5

    B.15

    C.35

    D.40


    正确答案:B
    B。【解析】队列个数=rear-front+容量。

  • 第5题:

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