线性表的顺序表示和实现
定义:线性表的顺序表示是指用一组地址连续的存储单元依次存储线性表的数据元素。
注:线性表的任一数据元素都可以随机存取,通常用数组来描述数据结构中的顺序存储结构
#define LIST_INIT_SIZE 100 //线性表存储空间的初始分配量
#define LISTINCREMENT 10 //线性表存储空间的分配增量
typedef struct {
ElemType * elem; //存储空间基址
int length; //当前长度
int listsize; //当前分配的存储容量(以(sizeof(ElemType))为单位)
}Sqlist;
线性表的初始化
Status InitList_Sq(Sqlist &L){
//构造一个空的线性表L
L.elem = (ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType));
if(!L.elem) exit(OVERFLOW); //存储分配失败
L.length = 0; // 空表长度为0
L.listsize = LIST_INIT_SIZE; // 初始存储容量
return ok;
} //InitList_Sq