数据结构实验报告 线性表的链式表示和实现

上传人:博****1 文档编号:470228515 上传时间:2023-07-22 格式:DOC 页数:12 大小:494KB
返回 下载 相关 举报
数据结构实验报告 线性表的链式表示和实现_第1页
第1页 / 共12页
数据结构实验报告 线性表的链式表示和实现_第2页
第2页 / 共12页
数据结构实验报告 线性表的链式表示和实现_第3页
第3页 / 共12页
数据结构实验报告 线性表的链式表示和实现_第4页
第4页 / 共12页
数据结构实验报告 线性表的链式表示和实现_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《数据结构实验报告 线性表的链式表示和实现》由会员分享,可在线阅读,更多相关《数据结构实验报告 线性表的链式表示和实现(12页珍藏版)》请在金锄头文库上搜索。

1、数学与计算科学学院实 验 报 告实验项目名称 :线性表的链式表示和实现 所属课程名称 : 数据结构A 实 验 类 型 : 验证性 实 验 日 期 : 2012年4月5号 班 级 : 信管10-02班 学 号: 201044070218 姓 名: 张松涛 成 绩 : 一、实验概述:【实验目的】(1)、线性表的逻辑结构特征。 、总存在第一个和最后一个元素。 、除第一个元素以外,每一个元素总存在唯一一个直接前驱元素。 、除最后一个元素以外,每一个元素总存在唯一一个直接后驱元素。(2)、顺序表的特征。 、逻辑关系上相邻的物理位置上也相邻。 、是一种随机存储结构,可以用一个简单直观的公式来表示每一个元素

2、的地址。(3)学会定义线性表的链式存储类型,实现C程序的基本结构,对线性表的一些基本操作和具体的函数定义。掌握顺序表的基本操作,实现顺序表的插入、删除、查找以及求并集等运算。【实验原理】/-线性表的单链表存储结构-typedef struct LNodeElemType data;struct LNode *next;LNode, *LinkList;【实验环境】 实验的环境:VC+二、实验内容:【实验方案】 编写主函数,调用初始化,建立线性链表的算法以及插入和删除算法。调试运行输入数据得出结果并进行分析。【实验过程】(实验步骤、记录、数据、分析)将程序输入VC6.0中编译之后发现错误,err

3、or C2144: syntax error : missing ; before type int。缺少分号修改之后,在编译一次。没有错误连接没有问题【实验结论】(结果)【实验小结】(收获体会)1. 实验程序应该多些注释,这样方便别人读懂你的程序。2. 程序运行过程中要多添加printf语句,提示程序员属于什么数据。3. 写程序时要细心,不要漏分号。三、指导教师评语及成绩:评 语评语等级优良中及格不及格1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强2.实验方案设计合理3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)4实验结论正确. 成 绩: 指导教师签名: 批阅日期:附录1

4、:源 程 序#include #include #define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status;typedef int ElemType;typedef struct LNodeElemType data;struct LNode *next;LNode, *LinkList;Status ListInsert_L(LinkList&L, int i, ElemType e) LinkList p,s;int j;

5、/p=L; j=0;while(p&jnext;+j;/if(!p|ji-1) return ERROR;s=(LinkList)malloc(sizeof(LNode);s-data=e;s-next=p-next;p-next=s;return OK;/ListInsert_LStatus ListDelete_L(LinkList&L,int i,ElemType &e) LinkList p,q;int j;p=L;j=0;while(p-next&jnext;+j;if(!(p-next)|ji-1) return ERROR;q=p-next; p-next=q-next;e=q-

6、data; free(q);return OK;/ListDelete_Lvoid CreateList_L(LinkList &L, int n) int i;LinkList p;L=(LinkList)malloc(sizeof(LNode);L-next=NULL;for(i=n;i0;-i)p=(LinkList)malloc(sizeof(LNode);scanf(%d,&p-data);p-next=L-next;L-next=p;/CreateList_LStatus GetElem_L(LinkList L, int i, ElemType &e)LinkList p;int

7、 j;p=L-next;j=1;while(p&jnext; +j;if(!p|ji)return ERROR;e=p-data;return OK;/GetElem_Lvoid main() LinkList L,p; int i,n; ElemType e;/将要用到得元素定义printf(请输入你想创建多少个元素的链表);scanf(%d, &n); /输入创建链表的数据个数CreateList_L(L, n);/调用算法2.10for(p=L-next;p!=NULL;p=p-next) /输出自己刚才输入的数据 printf(%d ,p-data);printf(n);printf(

8、请输入想查找第几个元素);scanf(%d, &i); /查找元素的位置GetElem_L(L, i, e);/调用算法2.8printf(e=%dn,e);/输出查找的元素printf(请输入想在第几个元素位置前插入元素);scanf(%d%d,&i,&e);/输入插入元素的位置ListInsert_L(L, i, e);/调用算法2.9插入元素for(p=L-next;p!=NULL;p=p-next) printf(%d ,p-data);printf(n);/输出插入后的结果printf(请输入想删除第几个元素);scanf(%d, &i);/输入删除元素的位置ListDelete_L

9、(L,i,e);/调用算法2.10for(p=L-next;p!=NULL;p=p-next) printf(%d ,p-data);printf(n);/输出删除后年的结果附录2:实验报告填写说明 1实验项目名称:要求与实验教学大纲一致。2实验目的:目的要明确,要抓住重点,符合实验教学大纲要求。3实验原理:简要说明本实验项目所涉及的理论知识。4实验环境:实验用的软、硬件环境。5实验方案(思路、步骤和方法等):这是实验报告极其重要的内容。概括整个实验过程。对于验证性实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作。对于设计性和综合性实验,在上述内容基础上还应该画出流程图、设计思路和设计方法,再配以相应的文字说明。对于创新性实验,还应注明其创新点、特色。6实验过程(实验中涉及的记录、数据、分析):写明具体实验方案的具体实施步骤,包括实验过程中的记录、数据和相应的分析。7实验结论(结果):根据实验过程中得到的结果,做出结论。8实验小结:本次实验心得体会、思考和建议。9指导教师评语及成绩:指导教师依据学生的实际报告内容,给出本次实验报告的评价。4

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号