- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构实验范例
附录 实验报告参考规范
院系____ 专业 ________________
姓名__________ 学号___ 电话_______2010______级 __________班 _______年____月____日
1.实验题目
编制一个演示单链表的建立、打印、查找、插入、删除等操作的程序。
2.需求分析
要求用TC编写一个演示程序,首先建立一个带头结点的整型单链表,然后根据用户选择,能够在单链表的任意位置插入、删除结点,以及确定某一元素在单链表中的位置。
建立单链表功能
输入的形式和输入值的范围:输入若干正整数,用空格分隔,用-1表示结束。
输出的形式:按输入顺序显示所建立单链表中各结点的值。
测试数据:输入11 12 13 14 15 16 -1后,显示建立的单链表为:11 12 13 14 15 16
插入功能
输入的形式和输入值的范围:输入一个表示插入位置的正整数和一个表示元素值的正整数,两个正整数用空格分隔。插入位置的合法取值范围是1到当前表长加1。
输出的形式:如果输入参数合法,则按顺序显示插入后单链表中各结点的值,否则显示参数错误信息。
测试数据:在前面所建单链表的基础上,做下面测试:
输入6 100后,显示插入后的单链表为:11 12 13 14 15 100 16
输入0 200后,显示参数错误信息。
输入9 200后,显示参数错误信息。
输入8 200后, 显示插入后的单链表为:11 12 13 14 15 100 16 200
删除功能
输入的形式和输入值的范围:输入一个表示删除位置的正整数,删除位置的合法取值范围是1到当前表长。
输出的形式:如果输入参数合法,则按顺序显示删除后单链表中各结点的值,否则显示参数错误信息。
测试数据:在前面插入后单链表的基础上,做下面测试:
输入9后,显示参数错误信息。
输入8后,显示删除后的单链表为:11 12 13 14 15 100 16
查找功能
输入的形式和输入值的范围:输入一个要查找的元素值,元素值的合法取值范围是正整数。
输出的形式:如果存在要查找的元素,则显示要查找元素的位置,否则显示参数错误信息。
测试数据:在前面插入、删除后单链表的基础上,做下面测试:
输入200后,显示参数错误信息。
输入1后,显示1的位置为
3.概要设计
为了实现上述程序功能,需要定义一个简化的线性表抽象数据类型:
ADT LinearList {
数据对象:D={ai|ai∈IntegerSet,i=0,1,2,…,n,n≥0}
结构关系:R={ai,ai+1|ai,ai+1 ∈D}
基本操作:
InitLinkList(L)
操作前提:L是一个未初始化的线性表
操作结果:将L初始化为一个空的线性表
CrtLinkList(L)
操作前提:L是一个已初始化的空表
操作结果:建立一个非空的线性表L
InsLinkList(L,pos,e)
操作前提:线性表L已存在
操作结果:将元素e插入到线性表L的pos位置
DelLinkList(L,pos,e)
操作前提:线性表L已存在
操作结果:将线性表L中pos位置的元素删除,
删除的元素值通过e返回
LocLinkList(L,e)
操作前提:线性表L已存在
操作结果:在线性表L中查找元素e,
若存在,返回元素在表中的位置;若不存在,返回-1
}本程序包含6个函数:
主函数main()
初始化单链表函数InitLinkList()
显示单链表内容函数dispLinkList()
插入元素函数InsLinkList()
删除元素函数DelLinkList()
查找元素函数LocLinkList()
各函数间调用关系如下:
主函数的伪码
main()
{ 说明一个单链表 L ;
初始化 L ;
建立 L ;
显示 L ;
循环做下面处理,直到读入的选项是“退出” :
{清屏;
显示菜单;
读入选项;
根据具体选项,读入需要的数据,调用相应的函数进行处理,
然后对得到的结果做必要的后处理,如打印输出。
}
}
4.详细设计
采用单链表实现概要设计中定义的抽象数据类型,有关的数据类型和伪码算法定义如下:
类型定义
typedef int ElemType;
typedef struct node {
ElemType data;
struct node *next;
}
文档评论(0)