一起talk C栗子吧(第十五回:C语言实例--双向链表)
2015-06-14 08:47
323 查看
各位看官们,大家好,从今天开始,我们讲大型章回体科技小说 :C栗子,也就是C语言实例。闲话休提,
言归正转。让我们一起talk C栗子吧!
看官们,上一回中咱们说的是循环链表的例子,这一回咱们说的例子是:双向链表。
看官们,双向链表也是一种链表。我们在前面两回中说到的链表,都是沿着链表头部到链表尾部这样的方
向进行操作,而今天咱们要说的双向链表既可以沿着链表头部到链表尾部这样的方向进行操作,也可以沿
着链表尾部到链表头部这样的方向进行操作。这也是正是叫它双向链表的原因。
在例子中,查找和删除结点的函数中,可以使用沿着链表尾部向链表头部这样的方向进行查找或者删除,
当然了,也可以向单链表一样沿着链表头部到链表尾部这样的方向进行查找或者删除。不论沿着哪个方向
操作,只需要关注该方向的指针就可以。比如,沿着链表头部到链表尾部这样的方向进行相关的操作,只
需要关注结点中的next指针就行,pre指针可以忽略。但是删除操作需要注意,因为它会从链表中删除一
个符合要求的结点,删除的时候需要把该结点的pre和next指针都处理好,不然会破坏链表的完成性,在
删除操作后,如果再进行遍历操作,就会因为链表不完整,遍历不到链表中的所有结点,也就是形成了断
链,这是最严重的错误。我在代码中有中文注释。
看官们,正文中就不写代码了,详细的代码放到了我的资源中,大家可以点击链接下载使用。
各位看官,关于双向链表的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解。
言归正转。让我们一起talk C栗子吧!
看官们,上一回中咱们说的是循环链表的例子,这一回咱们说的例子是:双向链表。
看官们,双向链表也是一种链表。我们在前面两回中说到的链表,都是沿着链表头部到链表尾部这样的方
向进行操作,而今天咱们要说的双向链表既可以沿着链表头部到链表尾部这样的方向进行操作,也可以沿
着链表尾部到链表头部这样的方向进行操作。这也是正是叫它双向链表的原因。
在例子中,查找和删除结点的函数中,可以使用沿着链表尾部向链表头部这样的方向进行查找或者删除,
当然了,也可以向单链表一样沿着链表头部到链表尾部这样的方向进行查找或者删除。不论沿着哪个方向
操作,只需要关注该方向的指针就可以。比如,沿着链表头部到链表尾部这样的方向进行相关的操作,只
需要关注结点中的next指针就行,pre指针可以忽略。但是删除操作需要注意,因为它会从链表中删除一
个符合要求的结点,删除的时候需要把该结点的pre和next指针都处理好,不然会破坏链表的完成性,在
删除操作后,如果再进行遍历操作,就会因为链表不完整,遍历不到链表中的所有结点,也就是形成了断
链,这是最严重的错误。我在代码中有中文注释。
看官们,正文中就不写代码了,详细的代码放到了我的资源中,大家可以点击链接下载使用。
各位看官,关于双向链表的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解。
相关文章推荐
- c++ 在控制台里用字符拼成图片
- C++11特性(01)auto关键字
- C++ I/O
- C++对象模型之RTTI的实现原理
- c/c++与java------之JNI学习(一)
- C/C++中问号冒号表达式的陷阱
- poj1062昂贵的聘礼有等级限制的最短路径
- 《C++Primer》读书笔记--异常处理
- 【C++ Primer Plus 9.2】 存储持续性、作用域和链接性
- c++学习
- C语言使用正则表达式
- C++为什么要设计友元函数和友元类
- C++为什么要设计友元函数和友元类
- 学生cpp成绩统计 【基类派生类练习】
- 大话设计模式C++版——抽象工厂模式
- 大话设计模式C++版——抽象工厂模式
- String的c语言实现
- 【好程序员笔记分享】—— C语言指针的理解
- 开始学习C++心得实例(1)
- c/c++回车不换行