这个算法与数据结构的例题是什么意思?
发布网友
发布时间:2022-07-20 16:28
我来回答
共3个回答
热心网友
时间:2023-10-22 22:48
这个函数是创建顺序链表,在堆中开辟一段连续的空间。首先要知道链表的结构。根据函数的实现可知表头为:
struct SeqList{
DataType* element; //首元素
int MAXNUM; //容量
int n; //长度
};
实现步骤是先分配一个SeqList的动态内存,假如内存分配失败,输出Out of space!(倒数第二句)。假如内存分配成功,则分配m * DataType的动态内存,若分配失败,则free;若分配成功,则初始化下,返回表地址
热心网友
时间:2023-10-22 22:48
第一行函数定义 返回类型是个 SeqList指针类型
第二行 申请内存 申请一个与seqlist结构相同大小的空间 并转换到SeqList指针类型 存到 palist变量
第三行 如果这个申请的内存不是空的就执行下面的语句 否则 直接返回 null
第四行 给palist的元素申请内存 申请的大小等于DataType结构对象乘以传入的m参数 也就是申请m个DataType
第五行 如果申请元素空间成功 就执行下面的语句 识别就释放掉刚刚申请的palist空间
第六行 设置palist的最大成员数个数
第七行 设置palist的当前使用的元素数
第八行 返回成功创建的palist 函数执行完毕
热心网友
时间:2023-10-22 22:49
能按步骤给我剖析一下它每一步原理吗?越详细越好,谢谢?