数据结构代码实现 | 您所在的位置:网站首页 › 数据结构第五章课后题答案严蔚敏 › 数据结构代码实现 |
基本操作 InitList(&L):初始化表。构造一个空的线性表。 采用动态分配内存的方式定义顺序表。 存储数组的空间是在程序执行过程中通过动态存储分配语句分配的,一旦数据空间占满,就另外开辟一块更大的存储空间,用来替换原来的存储空间,从而达到扩充存储数组空间的目的。原来的数据整体复制到新数组内。 //顺序表定义——动态分配 #include #include #define InitSize 10 //定义初始长度 typedef struct { int *data; //数组头指针 int MaxSize; //数组最大容量 int length; //数组长度 }SqList; void InitList(SqList *L) { L->data = (int*)malloc(InitSize * sizeof(int)); //动态分配内存 L->MaxSize = InitSize; for(int i=0; iMaxSize; i++) L->data[i] = 0; //设置默认值 L->length = 0; } void IncreaseSize(SqList *L) { int *p = L->data; L->data = (int*)malloc((L->MaxSize+InitSize)*sizeof(int)); for(int i=0; ilength; i++) { L->data[i] = p[i]; } L->MaxSize = L->MaxSize + InitSize; for(int i=L->length; iMaxSize; i++) L->data[i] = 0; free(p); } int main() { SqList L; InitList(&L); //初始化数组 //赋值0-9 for(int i=0; i |
CopyRight 2018-2019 实验室设备网 版权所有 |