#include <stdlib.h> #define InitSize 10 //默认最大长度 typedef struct{ int *data; //顺序表的起始地址 int maxsize;//最大容量 int length;//当前长度 }SeqList; //初始化顺序表 void InitList(SeqList &L) { L.data=(int*)malloc(InitSize*sizeof(int))//动态申请内存空间 L.length=0;//初始长度为0 L.maxsize=10; //赋初始值 for(int i=0;i<L.maxsize;i++) { L.data[i]=i; } } //增加动态数组的长度 void IncreaseSize(SeqList &L,int len) { int *p=L.data; L.data=(int *)malloc(sizeof(int)*(L.maxsize+len)); for(int i=0;i<L.length;i++) { L.data[i]=p[i]; } L.maxsize=L.maxsize+len; free(p);//销毁内存空间 } int main() { SeqList L; InitList(L); IncreaseSize(L,5); return 0; }
标签:顺序,实现,SeqList,动态分配,int,maxsize,data From: https://www.cnblogs.com/liangyu2553/p/17675179.html