本文主要是介绍顺序表的顺序表示—动态分配,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
顺序表的顺序表示—动态分配
代码实现
#include <stdio.h>
#include <stdlib.h>
#define InitSize 15 // 初始化扩容长度typedef struct{int *data; // 动态分配数组的指针int MaxSize;int length; // 当前长度
}SeqList;void InitList(SeqList &L){// 申请一片连续的内存空间L.data = (int*)malloc(InitSize * sizeof(int));L.length = 0;L.MaxSize = InitSize;
}
// 扩容方法
void incrSize(SeqList&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 += len;free(p);}int main() {SeqList L;InitList(L);printf("InitList 后的长度:%d \n",L.MaxSize);incrSize(L,10);printf("incrSize 扩后的长度:%d \n", L.MaxSize);return 0;
}
执行结果
这篇关于顺序表的顺序表示—动态分配的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!