使用动态数组
头文件:SeqList.h
#include<stdio.h>
#include<stdlib.h>
#define LIST_INTT_SIZE 100 //线性表存储空间的初始化分配量
#define LISTINCREMENT 10 //线性表存储空间的分配量
typedef int DataType; //存储单元类型
typedef struct
{
DataType *elem; //存储空间基址
int length; //当前长度
int listsize; //当前分配的存储容量----(以sizeof(DataType)we为单位)
}SqList;
//创建顺序表
SqList CreateSqList()
{
SqList* list = (SqList*)malloc(sizeof(SqList)); //创建顺序表
return *list;
}
//初始化顺序表
//返回1表示初始化成功
//返回0表示初始化失败
int InitateSqList(SqList* L)
{
L->elem = (DataType*)malloc(sizeof(DataType)*LIST_INTT_SIZE); //创建动态数组并把地址赋给顺序表基址
if(!L->elem)
return 0;
L->length = 0; //空表长度为0
L->listsize = LIST_INTT_SIZE; //初始存储容量
return 1;
}