问题
单项选择题
程序中已构成如下图所示的不带头结点的单向链表结构,指针变量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的指针断开。移动后的结构图如图所示: