动态顺序表是一个可以根据需要动态调整大小的数据结构。当元素数量超出当前顺序表容量时,需要进行内存扩容来适应更多元素的存储需求。
下面是使用C语言实现动态顺序表内存扩容的代码:
#include <stdio.h>
#include <stdlib.h>
// 定义动态顺序表结构体
typedef struct {
int *data; // 数据指针
int length; // 当前元素个数
int capacity; // 当前容量
} DynamicList;
// 初始化动态顺序表
void initDynamicList(DynamicList *list, int capacity) {
list->data = (int*)malloc(capacity * sizeof(int));
list->length = 0;
list->capacity = capacity;