c语言的链表

链表图

链表图
注:

结点名: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结点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值