c语言简单实现ArrayList容器
线性数据结构数组【连续储存】的操作
# include <stdio.h>
# include <malloc.h>
# include <stdlib.h>
typedef struct Arr
{
int * pBase; //数组首地址
int len; //数组长度
int cnt; //数组有效元素个数
//int increment; //增长因子
} ArrList;
//c中没有bool类型,需要自定义
typedef int bool;
#define true 1;
#define false 0;
void init_arr(ArrList *pArr, int length); //初始化
void show_arr(ArrList *pArr); //输出内容
bool is_empty(ArrList *pArr); //判断ArrList是否为空
bool is_full(ArrList *pArr); //数组是否填满
bool addend_arr(ArrList *pArr, int val); //在尾部添加
bool inster_arr(ArrList *pArr, int pos, int val); //将val添加到pos位置,pos从1开始
bool delete_arr(ArrList *pArr, int pos, int *pVal); //返回删除的值
void inversion_arr(ArrList *pArr); //倒置所有元素
void sort_arr(ArrList *pArr); //冒泡排序升序
int get(ArrList *pArr, int pos); //获取位置元素
int main(void)
{
ArrList arr;
init_arr(&arr, 10);
addend_arr(&arr, 1);
addend_ar