线性表是n(n≥0)个数据类型相同的数据元素组成的有限序列,数据元素之间是一对一的关系,即每个数据元素最多有一个直接前驱和一个直接后继
线性表的顺序存储结构是指在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素,元素之间的逻辑关系通过存储位置来反映,用这种存储形式存储的线性表称其为顺序表。
一维数组在内存中占用的存储空间是一组连续的存储区域,因此用一维数组来表示顺序表的数组存储区域是最合适的。顺序表具有按数据元素的序号随机存取的特点。
C语言描述顺序存储结构的线性表
#define MAXSIZE 100 /*线性表的最大长度*/
typedef struct Linear_list
{
datatype elem[MAXSIZE]; /*定义数据域*/
int last; /*线性表中最后一个元素在数组elem[]中的位置*/
}SeqList;
①顺序表上插入操作的实现
int InsertList(SeqList *Lp,int i,datatype x)/*i:插入的位置;x:插入的元素*/
{
int j;
if(Lp->last == MAXSZE-1){/*表空间已满,不能插入*/
printf("表空间已满!");
return (-1);
}
if(i<1 || i>Lp->last+2){/*检查插入位置是否正确*/
printf("插入位置有误1");
return(0);
}
for(j = Lp->last;j>=i-1;--j){/*移动结