> 文档中心 > 顺序表的实现-----动态分配

顺序表的实现-----动态分配

#include#include//malloc、free函数的头文件#define InitSize 10typedef struct {    int *data;    int MaxSize;    int length;}SqList;void InitList(SqList &L) {    L.data = (int *)malloc(InitSize*sizeof(int));    L.length = 0;    L.MaxSize = InitSize;}void IncreaseSize(SqList &L, int len) {    int *p = L.data;    L.data = (int *)malloc((L.MaxSize + len)*sizeof(int));    for (int i = 0; i < L.length; i++) { L.data[i] = p[i];    }    L.MaxSize = L.MaxSize + len;    free(p);}int main() {    SqList L;    InitList(L);    IncreaseSize(L, 5);    //往顺序表中插入几个元素....    for (int i = 0; i < L.length; i++) { printf("data[%d]=%d\n", i, L.data[i]);      }    printf("%d", L.MaxSize);}