|
---|
1.Linear是一种线性结构。1)有且仅有一个节点没有前驱节点(前件); 2)有且仅有一个节点没有后继节点(后件); 3)其它节点,有且仅有一个后继节点(后件),也仅有一个前驱节点(前件); 4)对线性表所做的任何操作都必须保证上述3点不被破坏。 2.对于线性表的实现:
这里用线性存储结构来实现线性表。 基本思想:将线性表分为两个大部分:1)控制头;2)存储空间(线性表核心);
控制头部分应至少具备如下属性:
扫描二维码关注公众号,回复:
3797892 查看本文章
1)最大空间容量; 2)当前存储的有效数据个数; 3)指向存储空间的指针。 用户使用时的类型广泛性,应该由用户自行决定类型问题(线性表中的元素类型问题)。
所形成的线性表,如图所示:
应该屏蔽用户对data、maxRoom和count的操作,或者说,对于用户而言,data、maxRoom、count以及线性表空间都是“透明”的,看不见的。 用户只能通过“接口”(也就是函数)实现对线性表的操作。 |
//传值 void initLinear(LINEAR *linear, int maxRoom){ void main(void){ initLinear(poly1, 30); //传值 //传址 void initLinear(LINEAR **linear, int maxRoom){ void main(void){ initLinear(&poly1, 30); //传址
|