niusouti.com

程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为头指针向链表的第—个结点。若有以下程序段 q=s; s=s->next; p=s; while(p->next) p=p->next; P->next=q; q->next=NULL; 该程序段实现的功能是______。A.首结点成为尾结点B.尾结点成为首结点C.删除首结点D.删除尾结点

题目

程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为头指针向链表的第—个结点。

若有以下程序段 q=s; s=s->next; p=s; while(p->next) p=p->next; P->next=q; q->next=NULL; 该程序段实现的功能是______。

A.首结点成为尾结点

B.尾结点成为首结点

C.删除首结点

D.删除尾结点


相似考题
参考答案和解析
正确答案:A
解析:根据语句q=s得知指针q指向结点a;由s=s->next;p=s得知指针p和s均指向接点b;在满足while语句的情况下,抽行p=p->next;得知p现在指向结点c;由p->next=q得知p指向的结点是a,a移到c的后面;由q->next=NULL得知结点a与结点b的指针断开。移动后的结构图如图所示:
更多“ 程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为头指针向链表的第—个结点。若有以下程序段 q=s; s=s->next; p=s; whil”相关问题
  • 第1题:

    在一个单链表中,指针P指向结点是指针S所指向结点的直接前驱结点,从链表中删除S所指向结点的操作为:

    A.p=s;

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

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

    D.s=p;


    q->next=p->next;p->next=q;

  • 第2题:

    假设某个单向循环链表的长度大于1,且表中既无头结点也无头指针。已知s为指向链表中某个结点的指针,试编写算法在链表中删除指针s所指结点的前驱结点。 StatusListDelete_CL(LinkList &S) { LinkList p,q; if(S==S->next)return ERROR; q=S; p=S->next; while(){ q=p; p=p->next; } q->next=p->next; free(p); return OK; }

    A.p->next!=S

    B.p->next==S

    C.p!=S

    D.p==S


    1.p—>next!=s2.p=p—>next3.s(或p—>next) 1.p—>next!=s2.p=p—>next3.s(或p—>next)

  • 第3题:

    设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B插入结点X的操作序列为()。

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

    B.q->next=s; s->next=p;

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

    D.p->next=s;s->next=q;


    A

  • 第4题:

    设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B间插入结点X的操作序列为()。

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

    B.q->next=s; s->next=p;

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

    D.p->next=s;s->next=q;


    A

  • 第5题:

    【单选题】设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B插入结点X的操作序列为()。

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

    B.q->next=s; s->next=p;

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

    D.p->next=s;s->next=q;


    A