c语言数据结构,单链表中的头插法求解释

使用头插法,L为头指针,s->next=L->next,L->next=s分别是什么意思,L-.>next可以改成L么?就这两个问题

L这个头结点是不存储数据的,L->next L的下个结点才存储数据,为实际的第一个结点
s->next=L-next 新插入的结点s放在第一个结点前面,变为新的第一个结点,L->next=s 这句让L->next指向新的第一个结点
L->next改为L s->next=L ,L=s可以,这样头指针就是实际存储数据的第一个结点
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-02-15
比如 指针L指向节点A,节点A的成员指针next指向节点C,s指针指向节点B

s->next = L->next; // 节点B的成员指针next指向节点C
L->next = s; // 节点A的成员指针next指向节点B

最终得到结果 :
指针L指向节点A,L->next(节点A成员指针next指向节点B) == s
指针s指向节点B,节点B成员指针next节点C

就形成链表的 A->B->C
例如:
// 指针L指向节点A,节点A的成员指针next指向节点B
L = L->next; // L指针指向节点B
// 节点B的成员指针next指向C
L = L->next; // L指针指向节点C
相似回答