第7课 - 线性表的顺序存储结构
1. 顺序存储定义
线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。
根据上面的定义,在 C 语言中可以用一维数组来实现顺序存储结构:
#define MAXSIZE xx /* xx为存储空间初始分配量 */ typedef int ElemType; /* ElemType类型根据实际情况而定,这里假设为int */ typedef struct _tag_List { ElemType node[MAXSIZE]; /* 数组存储数据元素,最大值为MAXSIZE */ int length; /* 线性表当前长度 */ } List;
这里,我们就发现描述顺序存储结构需要三个属性:
-
- 存储空间的起始位置:数组 node,它的存储位置就是存储空间的存储位置
- 线性表的最大存储容量:数组长度 MaxSize
- 线性表的当前长度:length
2. 顺序存储结构的基本操作
2.1 获取元素操作
2.2 插入元素操作
2.3 删除元素操作
3. 创建可复用顺序线性表
4. 小结
(1)顺序线性表的优点
-
- 无需为线性表中的逻辑关系增加额外的空间
- 可以快速的获取表中合法位置的元素
(2)顺序线性表的缺点
-
- 插入和删除操作需要移动大量元素
- 当线性表长度变化较大时难以确定存储空间的容量