设为首页 加入收藏

TOP

单链表中利用表头节点
2014-11-23 17:45:49 】 浏览:1281
Tags:单链表 利用 表头 节点

  单链表的设计一直被我认为很简单,最近细细看了一本书中对单链表的设计,发现其中有一些有意思的地方。


  1. 单链表中插入元素的操作,可以不用定位当前节点的前驱节点:


  1)temp_element = curr.element; tem_next = curr.next;//暂存当前节点的元素以及当前节点的后驱节点的指针


  2) curr.element = new_element;  //  将新元素赋值给当前节点的元素


  3) curr.next = new(temp_element, tem_next);  // 以1)中暂存的数据创建新的节点,并赋值给当前节点的后驱节点


  2. 但是单链表删除节点时同样会出现的前驱节点定位问题却不能用以上思路解决。根据《数据结构及算法分析》介绍,可以用引入


  表头节点并将curr设定为当前节点的前驱节点的方法来解决这一问题:


  删除:


  curr.next = curr.next.next;


  插入:


  curr.next = new node(new_elem, curr.next);


  这样就能很好地解决前去节点的定位了,换句话说,这能及一点点的空间代价换取高效的“插入”“删除”操作,很有意义。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇计算机等级考试二级C语言考前密卷.. 下一篇宽字符集(unicode)操作函数

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目