静态分配方式实现顺序表
//静态分配方式实现顺序表
#define MaxSize 10//定义最大长度
typedef struct{
ElemType data[MaxSize];
//用静态的“数组”存放数据元素
int length;//顺序表的当前长度
}SqList;//顺序表的类型定义
动态分配方式实现顺序表
typedef struct{
int *data;
int MaxSize;//指示动态分配数组的指针
int length;
}SeqList;
void InitList(SeqList &L){
L.data = (int*)malloc(InitSize*sizeof(int));
//这片存储空间大小为能存得下10个int类型的大小10*4=40
//用malloc函数申请一片连续的存储空间
//转换为指针相统一的数据类型 int,并把malloc返回的指针值赋给data
//malloc返回的是一整片连续空间的起始地址指向 data[0]
L.length = 0;
L.MaxSize = InitSize;//把最大容量设为初始值
}
//设计一个函数,动态的增加数组的长度
void IncreaseSize(SeqList &L, int len){
//len表示需要拓展的长度
int *p = L.data;
//malloc申请的空间 除了能存储当前所有的元素还能存储增加的元素
//用for循环把以前的数据转移过来
for (int i = 0; i < L.length; i++){
L.data[i] = p