数据结构实验报告 线性表的链式表示和实现.doc
上传人:yy****24 上传时间:2024-09-10 格式:DOC 页数:12 大小:494KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

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

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

预览

免费试读已结束,剩余 2 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

数学与计算科学学院实验报告实验项目名称:线性表的链式表示和实现所属课程名称:数据结构A实验类型:验证性实验日期:2012年4月5号班级:信管10-02班学号:201044070218姓名:张松涛成绩:一、实验概述:【实验目的】(1)、线性表的逻辑结构特征。①、总存在第一个和最后一个元素。②、除第一个元素以外,每一个元素总存在唯一一个直接前驱元素。③、除最后一个元素以外,每一个元素总存在唯一一个直接后驱元素。(2)、顺序表的特征。①、逻辑关系上相邻的物理位置上也相邻。②、是一种随机存储结构,可以用一个简单直观的公式来表示每一个元素的地址。(3)学会定义线性表的链式存储类型,实现C程序的基本结构,对线性表的一些基本操作和具体的函数定义。掌握顺序表的基本操作,实现顺序表的插入、删除、查找以及求并集等运算。【实验原理】//---线性表的单链表存储结构----typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*LinkList;【实验环境】实验的环境:VC++二、实验内容:【实验方案】编写主函数,调用初始化,建立线性链表的算法以及插入和删除算法。调试运行输入数据得出结果并进行分析。【实验过程】(实验步骤、记录、数据、分析)将程序输入VC6.0中编译之后发现错误,errorC2144:syntaxerror:missing';'beforetype'int'。缺少分号修改之后,在编译一次。没有错误连接没有问题【实验结论】(结果)【实验小结】(收获体会)实验程序应该多些注释,这样方便别人读懂你的程序。程序运行过程中要多添加printf语句,提示程序员属于什么数据。写程序时要细心,不要漏分号。三、指导教师评语及成绩:评语评语等级优良中及格不及格1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强2.实验方案设计合理3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)4实验结论正确.成绩:指导教师签名:批阅日期:附录1:源程序#include<stdio.h>#include<stdlib.h>#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1#defineOVERFLOW-2typedefintStatus;typedefintElemType;typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*LinkList;StatusListInsert_L(LinkList&L,inti,ElemTypee){LinkListp,s;intj;//p=L;j=0;while(p&&j<i-1){p=p->next;++j;}//if(!p||j>i-1)returnERROR;s=(LinkList)malloc(sizeof(LNode));s->data=e;s->next=p->next;p->next=s;returnOK;}//ListInsert_LStatusListDelete_L(LinkList&L,inti,ElemType&e){LinkListp,q;intj;p=L;j=0;while(p->next&&j<i-1){p=p->next;++j;}if(!(p->next)||j>i-1)returnERROR;q=p->next;p->next=q->next;e=q->data;free(q);returnOK;}//ListDelete_LvoidCreateList_L(LinkList&L,intn){inti;LinkListp;L=(LinkList)malloc(sizeof(LNode));L->next=NULL;for(i=n;i>0;--i){p=(LinkList)malloc(sizeof(LNode));scanf("%d",&p->data);p->next=L->next;L->next=p;}}//CreateList_LStatusGetElem_L(LinkListL,inti,ElemType&e){LinkListp;intj;p=L->next;j=1;while(p&&j<i){p=p->next;++j;}if(!p||j>i)returnERROR;e=p->data;returnOK;}//GetE