文档详情

数据结构线性表的顺序表示和实现(C语言).doc

发布:2016-12-13约6.15千字共8页下载文档
文本预览下载声明
/* 线性结构,线性表的顺序表示和实现 */ # include stdio.h # include malloc.h # include stdlib.h //包含了exit()函数 //定义一个数组结构体 struct Arr { int * pBase; //保存数组的指针 int len; //保存数组的长度 int cnt; //数组元素的有效个数 }; //前置函数声明 void init_arr(struct Arr * pArr,int length); //初始化 bool append_arr(struct Arr * pArr,int val); //追加一个元素 bool insert_arr(struct Arr * pArr, int pos, int val); //插入一个元素 bool delete_arr(struct Arr * pArr, int pos, int * val); //删除数组中的一个元素 int get(struct Arr * pArr, int pos); //获取某个元素的值 bool is_empty(struct Arr * pArr); //判断数组是否为空 bool is_full(struct Arr * pArr); //判断数组是否已满 void sort_arr(struct Arr * pArr); //为数组进行从小到大排序 void show_arr(struct Arr * pArr); //显示数组内容 void inversion_arr(struct Arr * pArr); //反转数组中的所有值 /* 创建一个数组,实现对这个数组的操作 1,追加一个元素 2,插入一个元素 3,对数组排序 4,反转数组元素 */ int main(void) { //定义一个结构体变量 struct Arr array; //获取一个被删除的元素的值 int val; //使用函数init_arr()初始化数组 init_arr(array, 5); //追加一个元素 append_arr(array, 5); append_arr(array, 3); append_arr(array, 7); append_arr(array, 1); printf(初始化的数组为:\n); show_arr(array); //使用函数insert_arr()插入一个元素 printf(在第三个元素前插入一个数值99:\n); insert_arr(array, 3, 99); //在第三个元素前,插入一个元素 show_arr(array); //使用函数inversion_arr()对数组中的元素进行翻转 printf(反转数组中的所有值:\n); inversion_arr(array); show_arr(array); //使用函数sort_arr()对数组进行排序 printf(将数组进行排序:\n); sort_arr(array); show_arr(array); //使用函数delete_arr()删除一个元素 printf(删除数组中第三个元素:\n); delete_arr(array, 3, val); show_arr(array); //使用函数append_arr()追加一个元素 printf(在数组的最后追加一个数值50:\n); append_arr(array,50); show_arr(array); //使用函数get()获得一个元素 printf(得到数组中第三个元素:\n%d\n,get(array,3)); return 0; } /* 初始化数组 @param struct Arr * pArr 结构体变量指针 @param int length 定义数组的长度 return void */ void init_arr(struct Arr * pArr,int leng
显示全部
相似文档