1.顺序存储定义
线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。
线性表(a1,a2,......,an)的顺序存储示意图如下:
a1 | a2 | ... | ai-1 | ai | ... | an |
线性表的顺序存储结构,说白了,和刚才的例子一样,就是在内存中找了块地儿,通过占位的形式,把一定内存空间给占了,然后把相同数据类型的数据元素依次存放在这块空地中。既然线性表的每个数据元素的类型都相同,所以可以用C语言(其他语言也相同)的一维数组来实现顺序存储结构,即把第一个数据元素存到数组下标为0的位置中,接着把线性表相邻的元素存储在数组中相邻的位置。
3.顺序存储的结构代码
/* 存储空间初始分配量 */
#define MAXSIZE 20
/* ElemType类型根据实际情况而定,这里假设为int */
typedef int ElemType;
typedef struct
{
/* 数组存储数据元素,最大值为MAXSIZE */
ElemType data[MAXSIZE];
/* 线性表当前长度 */
int length;
} SqList;
这里,我们就发现描述顺序存储结构需要三个属性:
存