顺序表的存储结构:
typedef struct {
Type *elem; //数据域
int length; //线性表长度
int listsize; //分配的存储空间
}SList;
构造一个空的线性表:
void InitList_S(SList &L){
L.elem=(Type *)malloc (List_INIT_SIZE)*sizeof(Type));
if(!L.elem)
{
printf("\n Malloc Error");
return;
}
L.length=0;
L.listzsize=List_INIT_SIZE;
printf("\n已成功构造一个空的线性表");
}
void DestoryList_S(SList &L){
free(L.elem);
L.elem=NULL;
printf("\n已销毁");
}
将线性表置为空表
void ClearList_S(SList &L){
free(L.elem);
L.elem=NULL;
//重新分配LIST_INIT_SIZE个数据元素的存储空间
L.elem=(Type *)malloc (LIST_INIT_SIZE*sizeof(Type));
if(!L.elem)
{
printf("\n Malloc Error");
return ;
}
L.length=0;
L.listsize=LIST_INIT_SIZE;
printf("\n 已将线性表置为空表");
}
void EmptyList_S(SLlist_S){
if(L.length==0)
printf("\n线性表L是空表");
else printf("\n线性表不是空表");
}
显示线性表L中的元素值
void GetList_S(SList L){
int j;
for(int j=0;j<L.length;j++)
printf("%d ",*(L.elem+j));
return ;
}