现有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中连续的三个节点。 struct node {char data; struct node*next;}*p,*q,*r; 现要将q和r所指节点交换前后位置,同时要保持

admin2011-06-13  36

问题 现有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中连续的三个节点。    struct node  {char data;    struct node*next;}*p,*q,*r;

现要将q和r所指节点交换前后位置,同时要保持链表的连续,以下不能完成此操作的语句是(       )。

选项 A、q->next=r->next;p->next=r;r->next=q;
B、p->next=r;q->next=r->next;r->next=q;
C、q->next=r->next;r->next=q;p->next=r;
D、r->next=q;p->next=r;q->next=r->next;

答案D

解析 D中的操作将会丢失r后面的链表结构,不能保持链表的连续。
转载请注明原文地址:https://kaotiyun.com/show/HkPp777K
0

最新回复(0)