不是自己亲自完成代码,你永远都想不到要注意的细节在哪里!!!...
分类:
编程语言 时间:
2014-11-13 14:48:42
阅读次数:
294
线性表的链式存储又称为链表(物理实现方式);链式存储是最常用的存储方式之一。它不仅可以用来表示线性表,而且可以用来表示各种非线性的数据结构;链表又可分为单链表、双链表、循环链表等。一:单链表所谓单链表是指数据结点是单向排列的。它包括两个域,一个信息域用于存放数据,一个指针域用于存放下个结点的地址;单...
分类:
其他好文 时间:
2014-11-10 19:29:37
阅读次数:
341
链表 链表与数组的区别是链表中的元素顺序是有各对象中的指针决定的,相邻元素之间在物理内存上不一定相邻。采用链表可以灵活地表示动态集合。链表有单链表和双链表及循环链表。书中着重介绍了双链表的概念及操作,双链表L的每一个元素是一个对象,每个对象包含一个关键字和两个指针:next和prev。链表的操作包....
分类:
其他好文 时间:
2014-11-03 23:49:45
阅读次数:
256
C语言编程
程序编译过程 哪部分干什么
数据结构 链表 二叉树 算法 数组 堆栈 队列算法 遍历
常量在内存中的表现形式
语法和内存的对应关系
数电 UML
类图 时序图 状态图 用例图 流程图...
分类:
其他好文 时间:
2014-10-31 11:55:37
阅读次数:
143
双向链表:
就是有双向指针 即 双向的链域
链结点的结构:
┌────┬────┬────────┐
│data│next│previous│
└────┴────┴────────┘
双向链表不必是双端链表(持有对最后一个链结点的引用),双端链表插入时是双向的
有两条链:一条从头到尾,一条从尾到头,删除遍历时也是双向的
/**
* 双向链表
*
* @author s...
分类:
编程语言 时间:
2014-10-26 01:41:27
阅读次数:
255
链表作为一种基础的数据结构,用途甚广,估计大家都用过。链表有几种,常用的是:单链表及双链表,还有N链表,本文着重单/双链表,至于N链表。。。不经常用,没法说出一二三来。在D里面,可能会用Contnrs.pas.TStack/TQueue相关类,进行操作,不过里面的实现,并非使用的是链表实现,只是用T...
双端链表:
双端链表与传统链表非常相似.只是新增了一个属性-即对最后一个链结点的引用rear
这样在链尾插入会变得非常容易,只需改变rear的next为新增的结点即可,而不需要循环搜索到最后一个节点
所以有insertFirst、insertLast
删除链头时,只需要改变引用指向即可;删除链尾时,需要将倒数第二个结点的next置空,
而没有一个引用是指向它的,所以还是需要循环来读取操作...
分类:
编程语言 时间:
2014-10-24 16:38:29
阅读次数:
242
线性表:
线性表(亦作顺序表)是最基本、最简单、也是最常用的一种数据结构。
线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。
线性表的逻辑结构简单,便于实现和操作。
在实际应用中,线性表都是以栈、队列、字符串等特殊线性表的形式来使用的。
线性结构的基本特征为:
1.集合中必存在唯一的一个“第一元素”;
2.集合中必存在唯一的一...
分类:
编程语言 时间:
2014-10-23 19:21:39
阅读次数:
271
ngx_list _t是一个顺序容器,它实际上是动态数组和单向链表的结合体,扩容起来比动态数组简单的多,可以一次扩容一个数组,所以说它结合了 链表插入删除不需要移动的 和 数组下标快速索引 的优势,设计非常让人叫绝,此外它还有以下特点:
链表中存储的元素是灵活的,可以是任何一种数据结构。
链表元素需要占用的内存由ngx_list_t管理,它已经通过数组分配好了。
小块的内存使用链表访问O(n)效率是低下的,可以使用数组通过直接通过偏移量来直接访问O(1)。...
分类:
其他好文 时间:
2014-10-23 17:40:57
阅读次数:
186
ngx_queue作为顺序容器链表,它优势在于其可以高效地执行插入、删除、合并操作,在插入删除的过程中,只需要修改指针指向,而不需要拷贝数据,因此,对于频繁修改的容器很适合。此外,相对于STL list,它还具有以下特点:
自身实现了排序功能
轻量级,不负责内存的分配
自身支持两个链表的合并...
分类:
其他好文 时间:
2014-10-22 10:07:12
阅读次数:
279