在数据结构中,经常需要建立链表,删除链表。那么我在这里用简单的说明,给大家进行展示链表的工作原理。
工具/原料
数据结构书本
访问链表节点
1、数据链表我们比喻成小火车:单向链表从当前节点只能访问它的下一个节点,而双向链表可以从当前节点同时访问它的前一个节点和后一个节点。如下图就是单向链表:如果要到3号车厢,先进入1号车厢(入口车厢),再从1号车厢的后向挂钩到达2号车厢,最后从2号车厢的后向挂钩到达3号车厢。因为没有前向挂钩,所以从3号车厢无法到达2号车厢;同理,从2号车厢也无法到达1号车厢。从这里可以看出链表的一个最大弱点:随机访问元素有点烦!
2、双向链表:有前向挂钩,所以从3号车厢可以到达2号车厢;同理,从2号车厢也可以到达1号车厢。
添加链表节点
1、先来看看单向链表的“小火车”如何添加新“车厢“(链表节点):有两种情况:1. 将新“车厢”加到火车尾巴上2. 将新“车厢”插入到车节中间
2、第一步:“系住”后节车厢,防止数据丢失
3、第二步:分离
4、第三步:与前一节车厢挂钩在这一步其实可以真正看出第一步中“系住”的目的不就是为了让4号车厢的前向挂钩找到3号车厢和2号车厢吗?如果不提前“系住”,那么一旦2号车厢与3号车厢分离,我们就再也没有有效办法到达3号车厢了。