单链表 使用哑结点避免特殊情况 利大于弊?
2015-07-10 00:13
225 查看
哑结点,就是链表的根节点. 一般的, 单链表的插入要考虑空链表的处理, 但如果有哑结点, 就无需这样考虑.
那这样好吗?
如果这样,你需要保证进入插入函数前, 单链表有哑结点, 所以你需要创建, 而且每次操作单链表需要跳过哑结点. 也就是说, 增加哑结点并没有减少特殊情况的处理, 相反, 这些处理分散到其他函数里. 我认为, 为了提高模块的独立性, 应该把空链表处理补上.
那这样好吗?
如果这样,你需要保证进入插入函数前, 单链表有哑结点, 所以你需要创建, 而且每次操作单链表需要跳过哑结点. 也就是说, 增加哑结点并没有减少特殊情况的处理, 相反, 这些处理分散到其他函数里. 我认为, 为了提高模块的独立性, 应该把空链表处理补上.
相关文章推荐
- 记一次死锁问题的处理
- mongodb与spring集成案例
- PHP环境搭建记录
- 【Swift】 - 函数(Functions)总结 - 比较 与 C# 的异同
- 开始学C#语言
- fedora 提供的安装包
- readelf 解读
- 看 opengl 写代码(1) 搭建开发环境(vs2012 + glut 和 vs2013 + glut)
- 无线网卡无法自动获取IP
- javaScript中数组的方法演示
- PHP Using list() with foreach()
- 121 DMZ功能实现
- LeetCode Excel Sheet Column Title (输出excel表的列名称)
- 5 Reasons to Use Protocol Buffers Instead of JSON For Your Next Service
- Odoo(OpenERP)实施方法论
- 数据结构,linux,jvm,设计模式,spring源码,lucene,Hadoop
- matlab实现贝塞尔曲线绘图pdf查看
- jquery常见知识点 总结
- Java中为满足两对象根据类的属性值相等 从而对象equal hashcode相等,需要重写equal hashcde
- 双指针的魅力