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

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

 
阅读更多

顺序表由连续内存构成,链表则不同。顺序表的优势在于查找,链表的优势在于插入元素等操作。顺序表的例子:http://blog.csdn.net/suinon/archive/2010/02/28/5333668.aspx

要注意的是,单链表的Add()方法最好不要频繁调用,尤其是链表长度较长的时候,因为每次Add,都会从头节点到尾节点进行遍历,这个缺点的优化方法是将节点添加到头部,但顺序是颠倒的。

所以,在下面的例子中,执行Purge(清洗重复元素)的时候,没有使用Add()方法去添加元素,而是定义一个节点,让它始终指向目标单链表的最后一个节点,这样就不用每次都从头到尾遍历。

此外,链表还可以做成循环链表,即最后一个结点的next属性等于head,主要操作与单链表相似,判断最后一个结点,不是等于null,而是等于head

分享到:
评论

相关推荐

    C#实现单链表(线性表)完整实例

    本文实例讲述了C#实现单链表(线性表)的方法。分享给大家供大家参考,具体如下: 顺序表由连续内存构成,链表则不同。顺序表的优势在于查找,链表的优势在于插入元素等操作。顺序表的例子://...

    数据结构 C#实现 各种算法 线性表,树,单链表

    数据结构 看别人都没人写C#的数据结构使我们在学习数据结构时多有不便, 前天好友传来一份他朋友(据说是个大学教授)写的本数据结构 就来和好友一起分享!!

    C#(数据结构与教程)单链表的实例应用程序

    单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储...

    数据结构 C#语言版 1

    录 I 第1章绪论 1 1 1 数据结构 1 1 1 1 学习数据结构的必要性 1 ...2 3 2 单链表的基本操作实现 46 2 3 3 单链表应用举例 56 2 4 其他链表 61 2 4 1 双向链表 61 2 4 2循环链表 64 2 5 C#中的线性表 64 本章小结 ...

    数据结构 c#版

    目录 I 第1章绪论 1 1 1 数据结构 1 1 1 1 学习数据结构的必要性 1 ...2 3 2 单链表的基本操作实现 46 2 3 3 单链表应用举例 56 2 4 其他链表 61 2 4 1 双向链表 61 2 4 2循环链表 64 2 5 C#中的线性表 64 本章小结 ...

    数据结构(C#语言版)

    2.5 C#中的线性表 69 习题二 72 -------------------------------------------------- 第3章 栈和队列 3.1 栈 74 3.2 队列 92 习题三 110 -------------------------------------------------- 第4章 串和数组 ...

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

    2.5 C#中的线性表.................................64 本章小结........67 习题二............67 第3章栈和队列.................................69 3.1 栈............69 3.1.1 栈的定义及基本运算.........69 ...

    C#,单向链表(Simply Linked List)快速排序(Quick Sort)算法与源代码

    各种数据结构、算法及实用的C#源代码.C#,单向链表(Simply Linked List)快速排序(Quick Sort)算法与源代码.单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部...

    数据结构(C#语言版)

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

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

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

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

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

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

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

    数据结构(c#语言版)

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

    数据结构(C#语言)

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

    数据结构 (C#语言版)

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

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

    这是继上一篇《C#数据结构之单链表(LinkList)实例详解》的继续,对于双向链接,节点上除了Next属性外,还要有Prev属性用来指向前一个节点,DbNode定义如下: namespace 线性表 { public class DbNode { private ...

Global site tag (gtag.js) - Google Analytics