什么是线性表
1、同一个问题可以有不同的表示(存储)方法
数组存储和链表存储
2、有一类共性问题:有序现行序列的组织和管理
线性表的存储
1、顺序存储
主要操作的实现
表的表示是用结构来表示,包含了数组和代表了最后一个元素的last,
malloc函数分配内存,分配的内存大小至少为参数所指定的字节数,并且返回时要强转为指定类型的指针。
若分配成功,则返回指向被分配内存空间的指针,否则,返回指针NULL
当内存不再使用时,使用free()将内存块释放掉。
PtrL->Last=-1 表示没有元素
最后返回结构的指针
List PtrL线性表结构的指针
线性表用链式存储实现
不要求逻辑上相邻的两个元素物理上也相邻;通过“链”建立起数据元素之间的逻辑关系。插入、删除不需要移动数据元素,只需要修改“链”。
广义表
采用十字链表来存储稀疏矩阵
只存储矩阵非0元素项
结点的数据域:行坐标Row、列坐标Col、数值Value
每个结点通过两个指针域,把同行、同列串起来