王道考研数据结构——链表

 12 单链表

找到头节点就相当于找到了整个链表

Linklist Lnode*是一个东西

大部分使用的带头结点,比较方便!带头结点只维护指针域,不维护数据域

找前驱节点+插入节点(可以单独封装成一个函数) 

如果不带头节点的话,那么插入和删除头节点的话都需要特殊处理,即重新修改头指针的指向,但是带头结点因为它的头节点始终指向第一个节点,所以不需要特熟处理。

单链表的前插如何进行?它前面的节点是未知的啊!

法一:(不推荐)

法二:(妙手)

把前插转变为后插~~

找前驱+删除 

 

 有小bug:

把查找节点的函数也封装起来 

单链表的建立

头插法&尾插法 

双链表

循环链表 

 

循环单链表有一个好处就是你循环遍历的话,它最后一定能找到它的前驱节点,这样就可以进行你想要执行的操作辣😂 

 有没有发现这样非常方便尾插啊😂

循环双链表里面有两层内循环

大家有没有发现,使用双链表之后它形成了闭环,所以就完全不用担心一个节点有没有后继结点了,直接随意处理就好了,不需要加那些if..else来什么啊吧啊吧健壮性了。

 静态链表:

FAT就是静态链表

逻辑结构:都是顺序表

存储结构:顺序表:顺序存储,支持随机存取,知道起始地址,可以随机访问任何一个位置的元素,存储密度大,连续存储,可扩展性差

链表不能随机存取,只能依次遍历,然后再存储 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值