程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为头指针指向链表的第一个结点。 若有以下程序段: q=s; s=s->next;p=s; while(p->n

admin2019-08-18  28

问题 程序中已构成如下图所示的不带头结点的单向链表结构,指针变量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、删除尾结点

答案B

解析 分析程序可知,程序段首先让:q指向链表的首结点,s指向链表的第二结点,p此时指向链表的第二个结点。然后在while循环中,当p的后继结点非空时,让p指向链表的最后一个结点,退出循环。然后让尾结点指向首结点,并使首结点的后继结点为NULL。所以最终实现链表的首结点成为尾结点。
转载请注明原文地址:https://jikaoti.com/ti/Ipf0FFFM
0

最新回复(0)