程序描述
上传一下最近写的动态数组相关的api函数。
代码实现
头文件 一系列相关的对 动态数组 结构体操作的函数
1、动态增长内存 策略
typedef struct DYNAMICARRAY
{
int * pAddr; // 存放数据的地址
int size; // 当前有多少个元素
int capacity; // 容量 当前最大能够容纳多少个元素
}Dynamic_Array;
2、初始化
Dynamic_Array* Init_Array();
3、插入
void PushBack_Array(Dynamic_Array *arr, int value);
4、根据位置删除
void RemoveByPos_Array(Dynamic_Array *arr, int pos);
5、根据值删除
void RemoveByValue_Array(Dynamic_Array *arr, int value);
6、查找
int FindSpace_Array(Dynamic_Array *arr, int value);
7、打印
void Print_Array(Dynamic_Array *arr);
8、释放动态数组的内存
void FreeSpace_Array(Dynamic_Array *arr);
9、清空数组
void Clear_Array(Dynamic_Array *arr);
10、获得动态数组的容量
int Capacity_Array(Dynamic_Array *arr);
11、获得动态数组当前元素的个数
int Size_Array(Dynamic_Array *arr);
12、根据位置获得某个位置的元素
int At_Array(Dynamic_Array *arr, int pos);
函数体
1、初始化
Dynamic_Array* Init_Array()
{
//申请内存
Dynamic_Array* myArray = (Dynamic_Array *)malloc(sizeof(Dynamic_Array));
// 初始化
myArray->size = 0;
myArray->capacity = 20;
myArray->pAddr