创建数组,并简单实现一下方法
// 数组的方法
void init_arr(PARR pArr, int len); // 数组的初始化方法 参数为PARR 类型变量首地址, len为数组的长度
bool append_arr(PARR pArr, int val); // 数组追加元素
bool insert_arr(PARR pArr, int pos, int val); // 数组插入元素 参数为数组首地址, 需要插入的位置 必须大于0;插入的值
bool delete_arr(PARR pArr, int pos, int * pVal); // 数组删除元素
int get_arr(PARR pArr, int index); // 数组 通过 下标 获取元素
bool isEmpty_arr(PARR pArr); // 判断数组是否为空
bool isFull_arr(PARR pArr); // 判断数组是否已经满
void sort_arr(PARR pArr); // 数组排序 升序
void show_arr(PARR pArr); // 输出数组的每个元素
void inversion(PARR pArr); // 数组倒置
#include <stdio.h>
// 定义 bool
typedef enum {
false = 0,
true
} bool;
// 定义结构体
typedef struct Arr {
int * pBase; // 存储数组第一个元素的地址
int len; // 存储数组的长度
int cnt; // 数组的有效值的个数
} ARR, * PARR;
// 数组的方法
void init_arr(PARR pArr, int len); // 数组的初始化方法 参数为PARR 类型变量首地址, len为数组的长度
bool append_arr(PARR pArr, int val); // 数组追加元素
bool insert_arr(PARR pArr, int pos, int val); // 数组插入元素 参数为数组首地址, 需要插入的位置 必须大于0;插入的值
bool delete_arr(PARR pArr, int pos, int * pVal); // 数组删除元素
int get_arr(PARR pArr, int index); // 数组 通过 下标 获取元素
bool isEmpty_arr(PARR pArr); // 判断数组是否为空
bool isFull_arr(PARR pArr); // 判断数组是否已经满
void sort_arr(PARR pArr); // 数组排序 升序
void show_arr(PARR pArr); // 输出数组的每个元素
void inversion(PARR pArr); // 数组倒置
int main(void)
{
ARR arr; // 定义变量 arr为ARR类型
int val; // 定义删除 的元素的值
init_arr(&arr, 6); // 传地址 比较方便可直接更改其值,并且仅传首地址即可,如果直接传 arr 则 需要传的数据比较多,形参赋值之后 在函数调用结束 内存被回收,无法改变原来的值
show_arr(&arr);
isFull_arr(&arr);
append_arr