标签:双向链表
各位看官们,大家好,从今天开始,我们讲大型章回体科技小说 :C栗子,也就是C语言实例。闲话休提,
言归正转。让我们一起talk C栗子吧!
看官们,上一回中咱们说的是循环链表的例子,这一回咱们说的例子是:双向链表。
看官们,双向链表也是一种链表。我们在前面两回中说到的链表,都是沿着链表头部到链表尾部这样的方
向进行操作,而今天咱们要说的双向链表既可以沿着链表头部到链表尾部这样的方向进行操作,也可以沿
着链表尾部到链表头部这样的方向进行操作。这也是正是叫它双向链表的原因。
在例子中,查找和删除结点的函数中,可以使用沿着链表尾部向链表头部这样的方向进行查找或者删除,
当然了,也可以向单链表一样沿着链表头部到链表尾部这样的方向进行查找或者删除。不论沿着哪个方向
操作,只需要关注该方向的指针就可以。比如,沿着链表头部到链表尾部这样的方向进行相关的操作,只
需要关注结点中的next指针就行,pre指针可以忽略。但是删除操作需要注意,因为它会从链表中删除一
个符合要求的结点,删除的时候需要把该结点的pre和next指针都处理好,不然会破坏链表的完成性,在
删除操作后,如果再进行遍历操作,就会因为链表不完整,遍历不到链表中的所有结点,也就是形成了断
链,这是最严重的错误。我在代码中有中文注释。
看官们,正文中就不写代码了,详细的代码放到了我的资源中,大家可以点击链接下载使用。
各位看官,关于双向链表的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解。
标签:双向链表
原文地址:http://blog.csdn.net/talk_8/article/details/46489195