资源描述:
《数据结构线性表的顺序表示和实现(c语言)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、线性结构,线性农的顺序农示和实现#inelude#inelude#include〃包含Texit()函数〃定义一个数组结构体structArr{int*pBase;〃保存数组的指针intlen;〃保存数组的长度intent;〃数组元索的有效个数};〃前置函数声明voidinit_arr(structArr*pArr,intlength);//初始化boolappend_arr(structArr*pArrjntval);//ill加一个元素boolins
2、ert_arr(structArr*pArr,intpos,intval);〃插入一个元素booldelete_arr(structArr*pArr,intpos,int*val);〃删除数组中的一个元素intget(structArr*pArr,intpos);〃获取某个元素的值boolis_empty(structArr*pArr);〃判断数组是否为空boolis_full(structArr*pArr);〃判断数组是否已满voidsort_arr(structArr*pArr);〃为数纟ft进行从小到人排
3、序voidshow_arr(structArr*pArr);〃显示数组内容voidinversion_arr(structArr*pArr);//反转数组中的所有值/*创建一个数组,实现对这个数组的操作1,追加一个元索2,插入一个元素3,对数组排序4,反转数纽元索*/intmain(void){〃定义一个结构体变量structArrarray;〃获取一个被删除的元素的值intval;〃使用函数init_arr()初始化数组init_arr(&array,5);〃追加一个元素append_arr(&array,5
4、);append_arr(&array,3);append_air(&array,7);append_arr(&array,1);printfC初始化的数组为:M);show_arr(&array);〃使用函数insert_arr()插入一个元素printf(“在笫三个元素前插入一个数值99:");insert_arr(&array,3,99);〃在笫三个元素前,插入一个元素show_arr(&array);〃使用函数inversion_arr()对数组中的元素进行翻转printf(“反转数组中的所有值
5、:“);inversion_arr(&array);show_arr(&array);〃使用函数sort_arr()对数组进行排序printf(”将数组进行排序:”);sort_arr(&array);show_arr(&array);〃使用函数delete_arr()tJ除一个元素printf,删除数组中第三个元素:『);delete_arr(&array,3,&val);show_arr(&array);〃使用函数append_arr()追加一个元素printfC'在数组的最后追加一个数值50:
6、n");append_arr(&array,50);show_arr(&array);〃使用函数get()获得一个元素printf("得到数组中第三个元素:%d"/get(&array/3));return0;初始化数组pArr结构体变量指针length定义数组的长度@paramstructArr*@paramintreturnvoid*/voidinit_arr(structArr*pArr,intlength){pArr->pBase=(int*)malloc(sizeof(int)*length)
7、;〃判断动态内存是否创建成功if(NULL==pArr->pBase){printf「动态内存常见失败”);exit(-l);}〃为其他元索赋值pArr->len=length;pArr->cnt=0;return;//标识此函数结束}将数组展示出來@paramstructArr*pArr结构体变量指针returnvoid*/voidshow_arr(structArr*pArr){inti;〃首先判断这个数组是否有有效值if(is_empty(pArr)){printf「这个数组为空“);exit(-
8、l);}else{for(i=0;icnt;++i){printf("%d“,pArr->pBase[i]);}printf(“”);判断数组是否为空数组@paramstructArr*pArrreturnBoolean*/boolis_empty(structArr*pArr){if(0==pArr->cnt){returntrue;}else{returnfals