1 #include <stdio.h>
2 #define Initsize 20
3
4 //声明顺序表数据类型
5 typedef struct{
6 int *data; //存储int型内存区域指针
7 int length; //当前顺序表长度
8 int maxsize;
9 }Seqlist;
10
11
12 //初始化顺序表
13 void Initlist(Seqlist &L){
14 L.data = (int *)malloc(Initsize*sizeof(int)); //内存块分配,获取内存区域指针
15 L.length = 0; //初始化当前顺序表长度
16 L.maxsize = Initsize;
17
18 }
19
20 //顺序表内存区域增加len
21 void Increasesize(Seqlist &L, int len){
22 int *p = L.data; //获取原内存块中数据指针
23 L.data = (int *)malloc((Initsize + len)*sizeof(int));//分配新内存区域
24 for (int i=0;i<L.length;i++) //复制原有内存数据至新内存区域
25 {
26 L.data[i] = p[i];
27 }
28 free(p); //释放原有数据
29 }
30
31
32 int main(){
33 Seqlist L;
34 Initlist(L);
35 Increasesize(L,5);
36 return 0;
37 }