链表图
注:
结点名:a,b,c
结点的值域:1,2,3,4
结点的链域:b,c,d,e
^表示null
讲解:
a->next的值为b结点的存储id
a->data的值为他的值域是1
f->next的值为空,是NULL。
实例一:已知b和c结点,然后删除c结点
b->next=c->next;
**意义:**根据上面的讲解,因为b的链域存的是c,要删除c我们只需要将b的链域改为c的链域值即可,也可以怎么理解,将原本放在b链域中的值改为我们想要的某个结点值。
实例二:在bc中间添加结点为p的结点
出于安全,我们应该先将p链接到c上,然后在将b连接到p上
p->next=c;
b->next=p;
当然,如果不按照我上面这个走,还是可以按照自己的方法写,这里举一个例子
b->next=p;
p->next=c;
难理解点:
b->next=c;
b->next=c->next;
上面这两个是完全不相同的概念,
第一个是把c结点作为b结点的链域,而第二个是把c结点的链域作为b结点的链域,意思是删除c结点。