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

admin2021-02-25  35

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

答案D

解析 本题考查链表的操作,本题中首先是s指向了它的下个节点,题目中说明了s总是指向链表的第一个节点,然后while循环找到链表的最后一个元素,然后最后一个元素指向了之前链表的头节点,之前头节点指向了空节点,所以本题实现的效果是使首节点成为尾节点。选项D正确。
转载请注明原文地址:https://kaotiyun.com/show/Bmtp777K
0

最新回复(0)