线性表的顺序存储结构
用一组连续的存储单元依次存储线性表的数据元素。
特点:线性表的顺序存储是一种随机存取的存储结构。
随机存取:即读写存储的消息的时间与存储的位置无关
define MAXSIZE 100
typedef struct{
ElemType elem;//存储空间的基地址
int MAXSIZE//容量
int length;//当前长度
}SqList
初始化:
Status InitList_Sq(SqList &L){
//构造一个空顺序表L
L.elem=(int)malloc(MAXSIZE*sizeof(int));//分配int类型指针数组空间,成功返回首地址,失败返回NULL
if(!L.elem) exit(-1)//exit除0外的其它值为异常退出
L.length=0;
return Ok;//#define OK 1
插入:
Status ListInsert_Sq(SqList &L,int i,ElemType e)
//在顺序表第i个元素前插入e
//通过插入函数建立顺序表
if(i<1||i>L.length+1) return ERROR;
if(L.length==MAXSIZE) return ERROR;
for(j=L.length-1;j>=i-1;j--)
L.elem[j+1]=L.elem[j];//i之后元素后移
L.elem(i-1)=e;//插入e
++L.length;
return Ok;
}