《实验报告电子文档》由会员分享,可在线阅读,更多相关《实验报告电子文档(12页珍藏版)》请在金锄头文库上搜索。
1、数学与计算科学学院 实 验 报 告实验项实验项目名称目名称 线性表的链式表示和表现 所属所属课课程名称程名称 数据结构 实实 验验 类类 型型 验证性实验 实实 验验 日日 期期 2011.10.27 班班 级级 信计 1001 班 学学 号号 201053100115 姓姓 名名 韩德谦 成成 绩绩 1一、实验概述:一、实验概述:【 【实验实验目的目的】 】1.线线性性链链表是一种表是一种动态动态分布分布结结构,每个构,每个结结点的指点的指针针域指向其直接后域指向其直接后继结继结点,因此指点,因此指针针是是线线性表的性表的逻辑结逻辑结构的映像。构的映像。2.验证线验证线性表的算法,了解算法与
2、程序的区性表的算法,了解算法与程序的区别别。 。【 【实验实验原理原理】 】1.线线性表的性表的链链式存式存储结储结构是用一构是用一组组任意的存任意的存储单储单元存元存储线储线性表的数据元素。性表的数据元素。【 【实验环实验环境境】 】Visual C+6.02二、实验内容:二、实验内容:【 【实验实验方案方案】 】按按实验实验要求构建程序,要求构建程序,进进行行调试调试,运行程序,得出,运行程序,得出结论结论。 。【 【实验过实验过程程】 】( (实验实验步步骤骤、 、记录记录、数据、分析)、数据、分析)按要求构建程序:按要求构建程序: #include #include #define T
3、RUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 typedef int Status; typedef int Elemtype;typedef struct LNodeElemType data;struct LNode *next; LNode, *LinkList;Status GetElem_L(LinkList L,int i,ElemType p=L-next; int j; j=1; while(p +j; if(!p|ji) return E
4、RROR; e=p-data;3return OK; Status ListInsert_L(LinkList p=L; int j; j=0; while(p +j; if(!p|ji-1)return ERROR; s=(LinkList)malloc(sizeof(LNode); s-data=e; s-next=p-next; p-next=s; return OK; Status ListDelete_L(LinkList p=L; int j; j=0; while(p-next +j; if(!(p-next)|ji-1)return ERROR; q=p-next; p-nex
5、t=q-next; e=q-data; free(q); return OK; 4void CreateList_L(LinkList int i; L=(LinkList)malloc(sizeof(LNode); L-next=NULL; for(i=n;i0;-i) p=(LinkList)malloc(sizeof(LNode); scanf(“%d“, p-next=L-next; L-next=p; void main() LinkList L;int i=5; LinkList p;CreateList_L(L,i);for(p=L-next;p;p=p-next)printf(
6、“%d “,p-data);printf(“n“);int e; scanf(“%d“,GetElem_L(L,i,e);printf(“%d“,e);printf(“n“);scanf(“%d %d “,ListInsert_L(L,i,e); for(p=L-next;p;p=p-next) printf(“%d “,p-data); printf(“n“);scanf(“%d“,ListDelete_L(L,i,e);printf(“%d“,e);printf(“n“); for(p=L-next;p;p=p-next) printf(“%d “,p-data); 调试中出现的错误: C
7、:Documents and SettingsAdministratora.cpp(13) : error C2146: syntax error : missing ; before identifier data C:Documents and SettingsAdministratora.cpp(13) : error C2501: ElemType : missing storage-class or type specifiers C:Documents and SettingsAdministratora.cpp(13) : error C2501: data : missing
8、storage-class or type specifiers C:Documents and SettingsAdministratora.cpp(17) : error C2061: syntax error : identifier ElemType C:Documents and SettingsAdministratora.cpp(23) : warning C4554: use parentheses to clarify precedence5C:Documents and SettingsAdministratora.cpp(23) : error C2296: stoppi
9、ng compilation Error executing cl.exe.a.obj - 6 error(s), 1 warning(s) 按提示修改错误,运行程序,得出结果。【 【实验结论实验结论】 】( (结结果)果)【 【实验实验小小结结】 】(收(收获获体会)体会)多次多次练习练习本次本次试验试验程序后,程序后,输输入入时时的的错误错误有明有明显显减少,但仍会有忘减少,但仍会有忘记记定定义义的情况出的情况出现现,主函数的,主函数的编编写依然是写依然是难题难题。 。三、指导教师评语及成绩:三、指导教师评语及成绩:6评语评语等等级级评评 语语 优优良良中中及格及格不及格不及格 1.实验报
10、实验报告按告按时时完成完成,字迹清楚字迹清楚,文字叙述流文字叙述流畅畅,逻辑逻辑性性强强2.实验实验方案方案设计设计合理合理3.实验过实验过程(程(实验实验步步骤详细骤详细,记录记录完整完整,数据合理数据合理,分析透分析透彻彻) )4 实验结论实验结论正确正确. 成成 绩绩: :指指导导教教师签师签名:名:批批阅阅日期:日期:附录附录 1 1:源:源 程程 序序#include #include #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -
11、2 typedef int Status; typedef int ElemType;typedef struct LNodeElemType data;struct LNode *next; LNode, *LinkList;Status GetElem_L(LinkList L,int i,ElemType p=L-next; int j; j=1; while(p +j; if(!p|ji) return ERROR; e=p-data; return OK; Status ListInsert_L(LinkList p=L; int j; j=0; while(p +j; if(!p|
12、ji-1)return ERROR; s=(LinkList)malloc(sizeof(LNode); s-data=e; s-next=p-next; p-next=s; return OK; Status ListDelete_L(LinkList p=L; int j; j=0; while(p-next +j; if(!(p-next)|ji-1)return ERROR; q=p-next;8p-next=q-next; e=q-data; free(q); return OK; void CreateList_L(LinkList int i; L=(LinkList)mallo
13、c(sizeof(LNode); L-next=NULL; for(i=n;i0;-i) p=(LinkList)malloc(sizeof(LNode); scanf(“%d“, p-next=L-next; L-next=p; void main() LinkList L;int i=5; LinkList p;CreateList_L(L,i);for(p=L-next;p;p=p-next)printf(“%d “,p-data);printf(“n“);int e; scanf(“%d“,GetElem_L(L,i,e);printf(“%d“,e);printf(“n“);scan
14、f(“%d %d“,ListInsert_L(L,i,e); for(p=L-next;p;p=p-next) printf(“%d “,p-data); printf(“n“);scanf(“%d“,ListDelete_L(L,i,e);printf(“%d“,e);printf(“n“); for(p=L-next;p;p=p-next) printf(“%d “,p-data); 9附录附录 2:实验报告填写说明:实验报告填写说明 1 1实验项目名称:实验项目名称:要求与实验教学大纲一致。2 2实验目的实验目的:目的要明确,要抓住重点,符合实验教学大纲要求。103 3实验原理:实验原理
15、:简要说明本实验项目所涉及的理论知识。4 4实验环境实验环境:实验用的软、硬件环境。5 5实验方案(思路、步骤和方法等)实验方案(思路、步骤和方法等):这是实验报告极其重要的内容。概括整个实验过程。对于验证性实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作。对于设计性和综合性实验,在上述内容基础上还应该画出流程图、设计思路和设计方法,再配以相应的文字说明。对于创新性实验,还应注明其创新点、特色。6 6实验过程(实验中涉及的记录、数据、分析):实验过程(实验中涉及的记录、数据、分析):写明具体实验方案的具体实施步骤,包括实验过程中的记录、数据和相应的分析。7 7实验结论(结果):实验结论(结果):根据实验过程中得到的结果,做出结论。8 8实验小结:实验小结:本次实验心得体会、思考和建议。9 9指导教师评语及成绩:指导教师评语及成绩:指导教师依据学生的实际报告内容,给出本次实验报告的评价。