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

admin2019-04-24  31

问题 程序中已构成如下图所示的不带头结点的单向链表结构,指针变量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://kaotiyun.com/show/7URp777K
0

最新回复(0)