链表结构-机器视觉算法与应用01

时间:2024-06-28 04:31:11
【文件属性】:

文件名称:链表结构-机器视觉算法与应用01

文件大小:1.48MB

文件格式:PDF

更新时间:2024-06-28 04:31:11

PASCAL

二、链表结构 设有一批整数(12,56,45,86,77,……,),如何存放呢? 当然我们可以选择以前学过的数组类型。但是,在使 用数组前必须确定数组元素的个数。如果把数组定义得大了,就会有大量空闲存储单元,定义得小了,又会在运行中发 生下标越界的错误,这是静态存储分配的局限性。 利用本章介绍的指针类型可以构造一个简单而实用的动态存储分配结构――链表结构。 下图是一个简单链表结构示意图: 其中:①每个框表示链表的一个元素,称为结点。 ②框的顶部表示了该存储单元的地址(当然,这里的地址是假想的)。 ③每个结点包含两个域:一个域存放整数,称为数据域,另一个域存放下一个结点(称为该结点的后继结点,相应 地,该结点为后继结点的前趋结点)的地址。 ④链表的第一个结点称为表头,最后一个结点表尾,称为指针域; ⑤指向表头的指针 head 称为头指针(当 head 为 nil 时,称为空链表),在这个指针变量中 存放了表头的地址。 ⑥在表尾结点中,由指针域不指向任何结点,一般放入 nil。 (一)链表的基本结构 由上图可以看出: ①链表中的每个结点至少应该包含两个域;一是数据域,一是指针域。因此,每个结点都是一个记录类型,指针的 基类型也正是这个记录类型。因此,head 可以这样定义: type pointer=^ rec;


网友评论