当前位置: 代码迷 >> C语言 >> [求助]c语言的问题
  详细解决方案

[求助]c语言的问题

热度:273   发布时间:2006-09-07 12:20:52.0
[求助]c语言的问题
C语言中的单向链表结构 的问题
P
head → ........→ E [一个方格] → [F] [\0]
S → [G] [ ]
注明:P→E []代表的都是方格

要求是 在链表结构中,指针P,S 分别指向图中所示结点,不能将S所指的结点插入到链表末尾仍构成单向链表的语句为
A.p=p->next;s->next=p;p->next=s;
B.p=p->next;s->next=p->next;p->next=s;
C.s->v=NULL;p=p->next;p->next=s;
D.p=(*p).next;(*s).next=(*p).next;(*p).next=s;

看不懂啊 帮忙解释下 谢谢了
搜索更多相关的解决方案: c语言  

----------------解决方案--------------------------------------------------------
选B
p=p->next --->p指向最后一个结点
s->next=p->next --->s->next=NULL,使得s成为最后一个结点
p->next=s; --->把s连接在p后面,实现插入操作.
----------------解决方案--------------------------------------------------------

选A了.


----------------解决方案--------------------------------------------------------
以下是引用popwer在2006-9-7 12:20:52的发言:
C语言中的单向链表结构 的问题
P
head → ........→ E [一个方格] → [F] [\0]
S → [G] [ ]
注明:P→E []代表的都是方格

要求是 在链表结构中,指针P,S 分别指向图中所示结点,不能将S所指的结点插入到链表末尾仍构成单向链表的语句为
A.p=p->next;s->next=p;p->next=s;
B.p=p->next;s->next=p->next;p->next=s;
C.s->v=NULL;p=p->next;p->next=s;
D.p=(*p).next;(*s).next=(*p).next;(*p).next=s;

看不懂啊 帮忙解释下 谢谢了

的确是选A,我看错了.C项只是将第一步和第二步调换顺序,在这里不影响结果.
D.用另一种形式表示.一般指针指向用->.
A项后两步使得S,P两结点形成循环.


----------------解决方案--------------------------------------------------------
  相关解决方案