欢迎来到天天文库
浏览记录
ID:16064972
大小:31.50 KB
页数:3页
时间:2018-08-07
《实验报告 1 线性表操作》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验报告1线性表操作1实验名称线性表操作2实验目的2.1掌握用C语言调试程序的基本方法。2.2掌握用C语言实现教材《数据结构(C语言版严蔚敏)》中算法的基本方法。3实验内容阅读和理解所提供的用C语言实现教材《数据结构(C语言版严蔚敏)》中算法2.3、算法2.4、算法2.5的C语言代码,并完整地写出测试用的C语言代码。4实验要求4.1所实现的各个算法的C程序代码都必须在VC++6.0中上机测试通过。4.2完整地写出测试用的C语言代码(包括主函数及相关语句代码)。5测试用的主函数及相关语句代码特别说明:以上内容必须在实验报告中完整地写出!参考:用C语言
2、实现算法2.3、算法2.4、算法2.5的代码//程序文件Common.h:目的是将要用到的公共定义语句做成一个头文件#defineTRUE1#defineFALAW0#defineOK1#defineERROR0#defineINFEASIBLE-1#defineOVERFLOW-2typedefintStatus;//程序文件LinearList_SequentialStorage.h:目的是将线性表的顺序存储结构定义与操作定//义做成做成一个头文件//#include"stdio.h"#include"stdlib.h"#include"Com
3、mon.h"#defineLIST_INIT_SIZE100#defineLISTINCREMENT10typedefintElemType;typedefstruct{//顺序存储结构的定义ElemType*elem;intlength;intlistsize;}SqList;//以下是操作的定义//初始化线性表的操作StatusInitList_Sq(SqList*L){L->elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!L->elem){printf("初始化不成功!
4、n");exit(OVERFLOW);}L->length=0;L->listsize=LIST_INIT_SIZE;printf("初始化成功!");return(OK);}//初始化线性表的操作StatusListInsert_Sq(SqList*L,inti,ElemTypee){ElemType*newbase,*p,*q;if(i<1
5、
6、i>L->length+1){printf("插入位置不合法!");returnERROR;}if(L->length>=L->listsize){newbase=(ElemType*)reall
7、oc(L->elem,(L->listsize+LISTINCREMENT)*sizeof(ElemType));if(!newbase){printf("插入不成功!");exit(OVERFLOW);}L->elem=newbase;L->listsize+=LISTINCREMENT;}q=&(L->elem[i-1]);for(p=&(L->elem[L->length-1]);p>=q;--p)*(p+1)=*p;*q=e;++L->length;printf("插入成功!");return(OK);}//显示线性表中数据元素的操
8、作voidListDisplay_Sq(SqListL){inti;printf("你的线性表是:");for(i=0;i9、10、i>L->length)returnERROR;p=&(L->elem[i-1]);*e=*p;q=L->elem+L->length-1;for(++p;p<11、=q;++p)*(p-1)=*p;--L->length;returnOK;}
9、
10、i>L->length)returnERROR;p=&(L->elem[i-1]);*e=*p;q=L->elem+L->length-1;for(++p;p<
11、=q;++p)*(p-1)=*p;--L->length;returnOK;}
此文档下载收益归作者所有