`
emowuyi
  • 浏览: 1479640 次
文章分类
社区版块
存档分类
最新评论

C#实现双链表(线性表)

 
阅读更多

双链表同单链表的不同在于结点类增加了一个“前驱结点”属性,此外,给双链表增加一个“尾结点”的属性。在获取某一结点对象时,双链表同单链表几乎没有区别,函数同单链表相似。但在添加结点、插入结点、删除结点、倒序排列等功能上不同。

其中,由于双链表有尾结点属性,在末尾添加结点会更加方便,时间复杂度为O(1),而单链表时间复杂度为O(n)。

插入结点、删除结点的原理与单链表的相关操作相似,只是增加前驱结点的设置。删除结点时,由于被删除结点的前驱和后继都设置为null,引用数目为0,GC会自动回收资源。

在这里,要求链表的头结点的前驱结点为null,这既符合常理,另外,如果不设置为null,则前驱结点仍有引用,GC无法自动回收,造成额外开销。

双链表的接口定义:

双链表的节点类:

双链表类:

分享到:
评论

相关推荐

    数据结构 C#语言版 1

    录 I 第1章绪论 1 1 1 数据结构 1 1 1 1 学习数据结构的必要性 1 1 1 2 基本概念和术语 1 1 2 算法 4 1 2 1算法的特性 4 1 2 2算法的评价标准 5 1 2 3算法的时间复杂度 6 ...2 5 C#中的线性表 64 本章小结 ...

    C#数据结构之双向链表(DbLinkList)实例详解

    本文实例讲述了C#数据结构之双向链表(DbLinkList)。分享给大家供大家参考,具体如下: 这是继上一篇《C#数据结构之单链表(LinkList)实例详解》的继续,对于双向链接,节点上除了Next属性外,还要有Prev属性用来指向...

    数据结构 c#版

    目录 I 第1章绪论 1 1 1 数据结构 1 1 1 1 学习数据结构的必要性 1 1 1 2 基本概念和术语 1 1 2 算法 4 1 2 1算法的特性 4 1 2 2算法的评价标准 5 1 2 3算法的时间复杂度 6 ...2 5 C#中的线性表 64 本章小结 ...

    30.数据结构(C#语言版)高清版

    5.2.4二叉链表存储结构的类实现....................................132 5.2.5 二叉树的遍历...................137 5.3 树与森林.......................................141 5.3.2 树、森林与二叉树的转换..........

    DataStructure.Samples.CSharp:数据结构示例程序(C#语言描述)

    线性表(中){单链表,双链表,LinkedList} 线性表(下){循环链表,约瑟夫问题} ②栈与重量部分: 栈{LIFO,Stack} 类别{FIFO,队列} ③树与二叉树部分: 树与二叉树(上){二叉树的创造与递归遍历} 树与二叉树...

    数据结构(C#语言版)

    将数据结构与C#语言和.NET框架结合是本书的一大特点。本书分为8章,第1章介绍了数据结构和算法的基本概念及本书...2.5 C#中的线性表.................................................................................

    3.数据结构(C#语言版)

    将数据结构与C#语言和.NET框架结合是本书的一大特点。本书分为8章,第1章介绍...2.5 C#中的线性表...................................................................................................................

    数据结构(C#语言版).

    2.5 C#中的线性表.................................................................................................................64 本章小结...............................................................

    数据结构(C#语言版)

    2.5 C#中的线性表.................................................................................................................64 本章小结...........................................................

    数据结构(c#语言版)

    将数据结构与C#语言和.NET框架结合是本书的一大特点。本书分为8章,第1章介绍...2.5 C#中的线性表...................................................................................................................

    数据结构(C#语言)

    2.5 C#中的线性表.................................................................................................................64 本章小结.........................................

    数据结构 (C#语言版)

    2.5 C#中的线性表.................................................................................................................64 本章小结...............................................................

    C#数据结构(2.0版)电子书

    2.5 C#中的线性表.................................................................................................................64 本章小结...............................................................

    C#数据结构

    将数据结构与C#语言和.NET框架结合是本书的一大特点。本书分为8章,第1章介绍了数据结构和算法的基本概念及本书...2.5 C#中的线性表.................................................................................

Global site tag (gtag.js) - Google Analytics