线性表的定义:线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列,其中n为表长,当n=0时线性表是一个空表。除了第一个元素之外,每个元素有且仅有一个直接前驱;除了最后一个元素外,其他元素有且仅有一个直接后继。
线性表的顺序存储称为顺序表,它用一组地址连续的存储单元依次存储线性表中的数据元素,从而使得逻辑上相邻的两个元素物理位置上也相邻,顺序表的特点是表中的元素逻辑顺序和物理顺序相同。
顺序表是一种可以随机存取的存储结构,通常用数组来描述线性表的顺序存储结构。
线性表中元素的为序是从1开始的,而数组中元素的下标是从0开始的。
静态分配一维数组定义线性表的顺序存储结构
#define MaxSize 50
typedef struct{
ElemType data[MaxSize];
int length;
}SqList;
动态分配数组定义线性表的顺序存储结构
#define InitSize 100
typedef struct{
ElemType *data;
int MaxSize,length;}SqList;
C的初始动态分配语句为
L.data=(ElemType*)malloc(size(ElemType)*InitSize);