已知带头结点的链队列指针Q,则该队列做新元素结点s进队操作的语句是()A.Q->rear->next=s; Q->rear=s;B.s->next=Q->front->next; Q->front->next=s;C.Q->next=s;Q=s;D.s->next=Q->next ;Q->next=s;

题目

已知带头结点的链队列指针Q,则该队列做新元素结点s进队操作的语句是()

A.Q->rear->next=s; Q->rear=s;

B.s->next=Q->front->next; Q->front->next=s;

C.Q->next=s;Q=s;

D.s->next=Q->next ;Q->next=s;


相似考题
更多“已知带头结点的链队列指针Q,则该队列做新元素结点s进队操作的语句是()”相关问题
  • 第1题:

    在一个链队中,设f和r分别为队头和队尾指针,则插入s所指结点的操作为

    ______和r=s;(结点的指针域为next)。


    参考答案r->next=s;

  • 第2题:

    设在一不带头结点的链队列中,front和rear分别为其队头和队尾指针,则判定该队中只有一个结点的条件是()。

    A、front->next

    B、rear->next

    C、front==rear

    D、front!=rear


    正确答案:C

  • 第3题:

    在一个链队中,f和r分别为队头和队尾指针,队结点的指针域为next,则插入所指结点的操作为r->next=s;r=s;()

    此题为判断题。


    参考答案:对

  • 第4题:

    判定“带头结点的链队列为空”的条件是(56)。

    A.Q.front==NULL

    B.Q.rear==NULL

    C.Q.front==Q.rear

    D.Q.front!=Q.rear


    正确答案:C
    解析:当带头结点的链队为空时,只有一个头结点,头、尾指针均指向头结点,因此有Q.front==Q.rear。

  • 第5题:

    在一个链队列中,若f,r分别为队首、队尾指针,则插入s所指结点的操作为( )

    A.f—>next=c;f=s;

    B.r—>next=s;r=s;

    C.s—>next=r;r= s

    D.s—>next=f,f=s;


    正确答案:B

  • 第6题:

    以下函数为链队列的入队操作,x为要入队的结点的数据域的值,front、rear分别是链队列的队头、队尾指针。
    malloc(sizeof(structnode));rear->next=p;p

  • 第7题:

    以下函数为链队列的入队操作,X为要人队的结点的数据域的值,front,rear分别是链队列的队头、队尾指针。
    (1)malloc(sizeof(structnode))
    (2)rear->next=p
    (3)p

  • 第8题:

    循环队列的队头指针指示队头元素在数组中实际位置的()位置, 对头指针指示的结点()队列元素。


    正确答案:前一个;不用于存储

  • 第9题:

    在一个链队中,f和r分别为队头和队尾指针,队结点的指针域为next,则插入一个s所指结点的操作为()和r=s;。


    正确答案:r->next=s

  • 第10题:

    单选题
    用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时( )。
    A

    仅修改队头指针

    B

    仅修改队尾指针

    C

    队头、队尾指针都要修改

    D

    队头、队尾指针都可能要修改


    正确答案: C
    解析:

  • 第11题:

    单选题
    设有一个带头结点的链队列,队列中每个结点由一个数据域data和指针域next组成,front和rear分别为链队列的头指针和尾指针。设p指向要入队的新结点(该结点已被赋值),则入队操作为()。
    A

    rear->next=p;rear=p;

    B

    rear->next=p;p=rear;

    C

    p=rear->next;rear=p;

    D

    rear=p;rear->next=p;


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

  • 第12题:

    填空题
    在一个链队中,设f和r分别为队头和队尾指针,则插入s所指结点的操作为r->next=s;和()(结点的指针域为next)。

    正确答案: r->next=s
    解析: 暂无解析

  • 第13题:

    在一个不带头结点的链队中,假设f和r分别为队头和队尾指针,则对该队列进行出队操作中并把结点的值保存在变量e中,其运算为e=f->data;和()。

    A.r=r->next

    B.r->next=r

    C.f=f->next

    D.f->next=f


    正确答案:C

  • 第14题:

    设在一不带头结点的链队列中,front和rear分别为其队头和队尾指针,则删除一个结点的操作是()。

    A、rear=front->next

    B、rear=rear->next

    C、front=front->next

    D、front=rear->next


    正确答案:C

  • 第15题:

    在一个有头结点的链队列中,假设f和r分别为队首和队尾指针,则插入s所指的结点的运算是()。

    A.f->next=s;f=s;

    B.r->next=s;r=s;

    C.s->next=r;r=s;

    D.s->next=f;f=s;


    正确答案:B

  • 第16题:

    阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。

    [说明]

    链式存储的队列称为链队。根据队列的FIFO原则,为了操作上的方便,可以使用带头指针front和尾指针rear的单链表来实现链队。若链队元素的数据类型为datatype,则链队结构描述如下:

    typedef struct node

    { datatypedata;

    structnode *next;

    } QNode; /*链队结点的类型*/

    typedef struct

    { QNnode *front,*rear;

    } LQueue; /*将头尾指针封装在一起的链队*/

    以下这种链队的几个例子:

    设q是一个指向链队的指针,即LQueue *q。下面各函数的功能说明如下:

    (1) LQueue *Init_LQueue():创建并返回一个带头尾结点的空链队;

    (2) intEmpty_LQueue( LQueue *q):判断链队q是否空;

    (3) void In_LQueue(LQueue *q, datatypex):将数据x压入链队q;

    (4) int Out_LQueue(LQuere *q, datatype *x):弹出链队q的第一个元素x,若成功则返回返回1否则返回0。

    [函数]

    LQueae *Init_LQueue()

    { LQueue *q, *p;

    q=malloc(sizeof(LQueue)); /*申请链队指针*/

    P=malloc(sized(QNode));/*申请头尾指针结点*/

    p->next=NULL;

    (1)=p;

    return q;

    }

    int Empty_LQueue(LQueue *q)

    { if(q->front (2) q>rear) return 0;

    else return 1;

    }

    void In_LQueue(LQueue *q, datatype x)

    { QNoda *p;

    p=malloc(sizeof(QNnode));/*申请新接点*/

    p->data=x;

    p->next=NULL;

    (3)=p;

    q->rear=p;

    }

    int Out_LQueue(LQueue *q, datatype *x)

    { QNnode *p;

    if(Empty_LQueue(q)) return 0; /*队空,操作失败*/

    else{

    p=q->front->next;

    *x=(4);

    (5)=p->next;

    free(p);

    if (q->front->next= =NULL)q->rear=q->front;

    return 1;

    }

    }


    正确答案:(1) q->front=q->rear (2) = = (3)q-> rear->next (4) p->data (5) q->front->next
    (1) q->front=q->rear (2) = = (3)q-> rear->next (4) p->data (5) q->front->next 解析:(1)初始化链队q时,需要初始化其头尾指针,空链队的头尾指针相等;
    (2)链队头尾指针重合当且仅当链队为空;
    (3)向链队插入新元素的操作是在链队末尾进行的,需要将新元素结点接在原链队队尾,再让新的尾指针指向这一新结点;
    (4)~(5):链队q的第一个元素存放在其头结点之后的第一个结点(即p=q->front->next)中。*x= p->data表示将这个元素取出,以参数*x的形式返回:q->front->next=p->next表示将结点p从链队中取出。

  • 第17题:

    设指针变量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
    解析:
    向队列插入元素,即入队操作,应该在队尾进行,所以需要修改尾指针,实现新结点的人队。

  • 第18题:

    以下函数为链队列的入队操作,x为要入队的结点的数据域的值,front、rear分别是链队列的对头、队尾指针。

  • 第19题:

    用不带头结点的单链表存储队列,其头指针指向队头结点,尾指针指向队尾结点,则在进行出队操作时()。

    • A、仅修改队头指针
    • B、仅修改队尾指针
    • C、队头、队尾指针都可能要修改
    • D、队头、队尾指针都要修改

    正确答案:C

  • 第20题:

    在带头结点的链队列q中,用q.front表示队头指针,q.rear表示队尾指针,结点结构为data next ,删除链队列的队头结点的主要语句为()。

    • A、s=q.front;q.front->next=s.next;
    • B、s=q.front->next;q.front->next=s.next;
    • C、s=q.front->next;q.front=s.next;
    • D、s=q;q.front->next=s.next;

    正确答案:B

  • 第21题:

    单选题
    在带头结点的链队列q中,用q.front表示队头指针,q.rear表示队尾指针,结点结构为data next ,删除链队列的队头结点的主要语句为()。
    A

    s=q.front;q.front->next=s.next;

    B

    s=q.front->next;q.front->next=s.next;

    C

    s=q.front->next;q.front=s.next;

    D

    s=q;q.front->next=s.next;


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

  • 第22题:

    单选题
    设指针变量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
    解析:

  • 第23题:

    单选题
    设有一个带头结点的链队列,队列中每个结点由一个数据域data和指针域next组成,front和rear分别为链队列的头指针和尾指针,要执行出队操作,用x保存出队元素的值,p为指向结点类型的指针,可执行如下操作:p=front->next;x=p->data;然后执行()。
    A

    front=p->next;

    B

    front->next=p->next;

    C

    front=p;

    D

    front->next=p;


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

  • 第24题:

    填空题
    在一个链队中,f和r分别为队头和队尾指针,队结点的指针域为next,则插入一个s所指结点的操作为()和r=s;。

    正确答案: r->next=s
    解析: 暂无解析