《数据结构与算法》实验报告模板讲义.docxVIP

《数据结构与算法》实验报告模板讲义.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数据结构与算法》实验报告模板讲义

武汉理工大学实验报告《数据结构与算法》上机实验学院(系):信息工程学院专业班级:信息sy 1501?班学生姓名:徐惠玲指导教师:魏洪涛实验一线性结构的操作实验目的熟悉掌握链表的创建和操作,了解链表的深层含义。二、实验内容编写一个程序,实现顺序表的各种基本运算,并在此基础上完成以下功能:?1)?初始化顺序表;?2)?依次采用头插入法插入10个数字;3)?输出顺序表L;?4)选择想要实现的功能5)??输出顺序表L的第n个数字;6)输出数字x的位置;7)??在第n个数字位置上插入f数字;8)?输出顺序表L;?9)?删除L的第3个数字;10)?输出顺序表L;?11)?释放顺序表。三、实验环境硬件:PC计算机软件:Windows XP, Microsoft Visual C++ 6.0四、算法设计过程4.1 题目分析首先初始化顺序表?(1)?依次采用头插入法插入10个数字;?输入参数的格式和合法取值范围:依次输入10个数字;?输出格式:按顺序显示这10数字。?(2)选择函数的功能,输入指定的数字实现。?(3)寻找指定元素的地址输出格式:显示顺序表第三个元素的地址?测试数据:顺序表第三个元素的地址(4)?在第4个元素位置上插入元素?输入参数的格式:在原有顺序表L第4个元素位置插入2332元素。?输出格式:按顺序显示第4个元素位置插入f元素的顺序表。?测试数据:依次显示出顺序表的元素。(5)?删除第三个元素?输入参数的格式和合法取值范围:在顺序表中删除第三个元素。?输出格式:按顺序显示删除了第三个元素的顺序表。?测试数据:一次显示顺序表。(6)计算链表的长度输入参数的格式和合法取值范围:计算链表的长度输出格式:显示顺序表的长度。(7)删除链表输入参数的格式和合法取值范围:链表的当前数据输出格式:退出了链表的操作部分,可以退出程序4.2 概要设计(1)?给出所用抽象数据类型的逻辑定义。?ADTLinkList{?数据对象:D={ai|ai∈IntegerSet,i=0,1,2,…,n,n≥0}??结构关系:R={ai,ai+1|ai,ai+1?∈D}?基本操作:LinkList(L)?操作前提:L是一个未初始化的线性表。?操作结果:将L初始化为一个空的线性表。?destroy(L)?操作前提:线性表L已存在。?操作结果:销毁线性表L。?count(L) 操作前提:线性表L已存在。操作结果:返回L中数据元素个数。play(L) 操作前提:线性表L已存在。操作结果:打印表中元素。 ListInsert (L,i ,e) 操作前提:线性表L已存在,1≤i≤ListLength(L)+1。操作结果:在L中第i个位置之前插入新的数据元素e,L的长度+1。detelelist(L,i, e) 操作前提:线性表L已存在且非空,1≤i≤ListLength(L)。操作结果:删除L的第i个元素数据,并用e返回其值,L的长度—1。search(L, i,e) 操作前提:线性表L已存在,1≤i≤ListLength(L)。操作结果:用e返回L中第i个元素的地址。4.3程序流程图流程图五、程序及调试5.1 每个函数的源程序#includestdio.h#includectype.h#includemalloc.htypedef struct node{int data;struct node *next;}listnode;typedef listnode * LinkList;LinkList creatlink();void cutin(LinkList head);void play(LinkList head);void deletelist(LinkList head);void destroy(LinkList head);void search(LinkList head);void count(LinkList head);main(){LinkList head;int x;head=creatlink();play(head);while(1){printf(你想对链表进行什么操作,请输入(加入节点1删除节点2寻找节点位置3计算节点个数4删除节点退出程序5));scanf(%d,x);if(x==1){cutin(head);play(head);}else if(x==2){deletelist(head);play(head);}else if(x==3)search(head);else if(x==4)count(head);else if(x==5){destroy(head);break;}else printf(未找到指定功能,请重新输入\n);}}//创建一个链表LinkList creatlink(){int i;l

文档评论(0)

2299972 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档