#include<stdio.h> //顺序表的实现——静态分配
#define MAX 10 //定义最大长度
typedef struct List
{int data[MAX]; //用静态的数组存放数据int lenth; //顺序表现在的长度
}List;
//顺序表的初始化
void ChuShiHua(List L)
{L.lenth = 0; //将顺序表的长度初始化为0for (int i = 0; i < MAX; i++){L.data[i] = 0; //将所有数据元素设置为默认初始值0}
}
int main()
{List L;
//顺序表的初始化ChuShiHua(L);return 0;
}
#include<stdio.h>
#include<stdlib.h>
#define initsize 10 //默认的最大长度
typedef struct
{int* data;int maxsize; //顺序表的最大容量int lenth; //目前的长度
}Seqlist;
//初始化
void ChuShiHua(Seqlist L)
{L.data = (int*)malloc(initsize*sizeof(int)); //为存放数据开辟可存放最大长度的内存空间L.lenth = 0;L.maxsize = initsize;
}
//增加动态内存的长度
void Increase(Seqlist L,int len) //len为需要增加的长度
{int* p = L.data; //将存放原来数据的内存空间的地址赋值给pL.data = (int)malloc((L.maxsize+len)* sizeof(int)); //给L开辟新的存放数据的内存空间for (int i = 0; i < L.maxsize; i++){L.data[i] = p[i]; //将原来的数据复制到新的内存空间}L.maxsize = L.maxsize + len;free(p); //释放原来存放数据的内存空间
}
int main()
{Seqlist L;//初始化ChuShiHua(L);//增加动态内存的长度Increase(L,5);return 0;
}