- 2
- 0
- 约 40页
- 2016-12-20 发布于重庆
- 举报
2.5 单向循环链表和双向循环链表 2.5.1 单向循环链表的存储? 简单链表的最后一个结点的链接域的值始终为空,若将最后一个结点的链接域值定义为指向开头(表头结点或第一个数据结点)。则形成一个环,称为单向循环链表或称为循环链表。 2.5.2 双向循环链表的存储 2.6 模拟指针方式构造简单链表 2.6.1 模拟链表的存储 利用动态存储分配构造链表虽然有许多优点,然而,很多高级语言是没提供动态申请(new)和动态归还(delete)存储空间的功能。 在静态存储分配方式,由用户来构造相应地申请(new)和归还(delete)存储空间的功能,从而实现线性表的链式存储结构。 模拟指针(Simulated Pointer) 利用静态存储分配构造简单链表。 存储空间是从一个事先定义的数组中申请 使用后又将使用过的空间归还到数组中 链表中的空间不是由系统分配的,而是由用户自己分配的 每个数据元素空间是数组中的一个数组元素 指针的值也不是存储空间的物理地址,而是数组的下标。因此,也将这种链表的指针定义为“模拟指针”。 存储池(storage pool) 定义一个足够大的数组(node),当前未使用的结点空间将被放入这个存储池中。开始,这个存储池中包含了所有数组元素空间: node[ 0:MaxSize -1 ] 数据元素的结点仍然是由两个部分组成:数据域和链接域。 对
原创力文档

文档评论(0)