niusouti.com

单选题设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点x,则入队列的操作序列为( )。A front->next=s;front=s;B s->next=rear;rear=s;C rear->next=s;rear=s;D s->next=front;front=s;

题目
单选题
设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点x,则入队列的操作序列为(  )。
A

front->next=s;front=s;

B

s->next=rear;rear=s;

C

rear->next=s;rear=s;

D

s->next=front;front=s;


相似考题
更多“设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点x,则”相关问题
  • 第1题:

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


    正确答案:24
    24 解析:实现循环队列时,头指针指向第一个元素的前一个空间,尾指针指向最后一个元素。因此,此时队列中6、7、8、…、29这24个空问存有元素,即队列中有29-5=24个元素。

  • 第2题:

    当(116)时,“链式队列为空”(front为头指针,rear为尾指针)。

    A.rear==NULL

    B.front== NULL

    C.front= =rear

    D.front!=rear


    正确答案:C
    解析:链式队列主要有以下几种:带头结点的链队列,带头结点的循环链队列和不带头结点的链队列。带头结点的链队列头、尾指针均指向头结点时,它为空。

  • 第3题:

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

  • 第4题:

    设循环队列Q的定义中有front和size两个域变量,其中front表示队头元素的指针,size表示队列的长度,如下图所示(队列长度为3,队头元素为x,队尾元素为z)。设队列的存储空间容量为M,则队尾元素的指针为 (58)。

    A.(Q.front+Q.size-1)

    B.(Q.front+Q.size-1+M)%M

    C.(Q.front-Q.size)

    D.(Q.front-Q.size+M)%M


    正确答案:B
    本题考查循环队列队尾指针的计算方法。从图示可以看出,要得到z的值可进行Q.front+Q.size-1操作,但在此不容忽视的一个问题是,循环队列在进行了多次入队出队操作之后,Q.front+Q.size-1有可能大于M,如Q.front指向M-1空间时,Q.front+Q.size-1=M+1,这已超出队列长度,所以需要让其与M进行求模操作,修正位置号。

  • 第5题:

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

    A.front=rear+1

    B.rear=front+1

    C.front=real

    D.front=0


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

  • 第6题:

    设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为()。

    A.s->next=rear;rear=s;
    B.front->next=s;front=s;
    C.rear->next=s;rear=s;
    D.s->next=front;front=s;

    答案:C
    解析:
    向队列插入元素,即入队操作,应该在队尾进行,所以需要修改尾指针,实现新结点的人队。

  • 第7题:

    某循环队列的容量MAXSIZE=6,队头指针front=3,队尾指针rear=0,则该队列有()个元素。


    正确答案:3

  • 第8题:

    循环队列的队首指针为front,队尾指针为rear,则队空的条件为()。


    正确答案:front=rear

  • 第9题:

    假定front和rear分别为一个链式队列的对头和队尾指针,则链式队列中只有一个结点的条件为()。


    正确答案:front==rear&&front!=NULL

  • 第10题:

    填空题
    设循环队列的头指针front指向队首元素,尾指针rear指向队尾元素后的一个空闲元素,队列的最大空间为MAXLEN,则队满标志为()

    正确答案: front=(rear+1)%MAXLEN
    解析: 暂无解析

  • 第11题:

    填空题
    假定front和rear分别为一个链式队列的对头和队尾指针,则链式队列中只有一个结点的条件为()。

    正确答案: front==rear&&front!=NULL
    解析: 暂无解析

  • 第12题:

    判断题
    在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。()
    A

    B


    正确答案:
    解析:

  • 第13题:

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

  • 第14题:

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

    A.5

    B.15

    C.35

    D.40


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

  • 第15题:

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

    A.5

    B.15

    C.35

    D.40


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

  • 第16题:

    判断“链式队列为空”的条件是______(front为头指针,rear为尾指针)。

    A.front==NULL

    B.rear==NULL

    C.front==rear

    D.front!=rear


    正确答案:C
    解析:用链表作为队列的存储结构时称为链式队列(链表)。链表的第一个表元是队列首结点,链表的末尾表元是队列的队尾结点,队尾结点的链接指针值为NULL。如果是带头结点的链式队列,则空队列的情形如图1-1(a)所示;若是带头结点的循环链式队列,则空队列的情形如图1-1(b)所示;若不带头结点,则空队列的情形如图1-1(c)所示,因此,当front==rear时表示队列为空。

  • 第17题:

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

  • 第18题:

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

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

    正确答案:C

  • 第19题:

    在一个链式栈中,若栈顶指针等于NULL则为(),在一个链式队列中,若队头指针与队尾指针的值相同,则表示该队列为()或该队列()。


    正确答案:空栈;空;只含有一个结点

  • 第20题:

    设循环队列的头指针front指向队首元素,尾指针rear指向队尾元素后的一个空闲元素,队列的最大空间为MAXLEN,则队满标志为()


    正确答案:front=(rear+1)%MAXLEN

  • 第21题:

    单选题
    设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点x,则入队列的操作序列为(  )。
    A

    front->next=s;front=s;

    B

    s->next=rear;rear=s;

    C

    rear->next=s;rear=s;

    D

    s->next=front;front=s;


    正确答案: A
    解析:

  • 第22题:

    填空题
    某循环队列的容量MAXSIZE=6,队头指针front=3,队尾指针rear=0,则该队列有()个元素。

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

  • 第23题:

    填空题
    在一个链式栈中,若栈顶指针等于NULL则为(),在一个链式队列中,若队头指针与队尾指针的值相同,则表示该队列为()或该队列()。

    正确答案: 空栈,空,只含有一个结点
    解析: 暂无解析

  • 第24题:

    判断题
    在用单链表表示的链式队列Q中,队头指针为Q->front,队尾指针为Q->rear,则队空条件为Q->front==Q->rear。(  )
    A

    B


    正确答案:
    解析: