数据结构实验报告范例(2008).doc

数据结构实验报告范例(2008).doc

ID:61455580

大小:61.50 KB

页数:9页

时间:2021-02-01

数据结构实验报告范例(2008).doc_第1页
数据结构实验报告范例(2008).doc_第2页
数据结构实验报告范例(2008).doc_第3页
数据结构实验报告范例(2008).doc_第4页
数据结构实验报告范例(2008).doc_第5页
资源描述:

《数据结构实验报告范例(2008).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、《数据结构》实验报告院系____________________专业____________________姓名____________学号____________电话______________________级__________班_______年____月____日1.实验题目编制一个演示单链表的建立、打印、查找、插入、删除等操作的程序。2.需求分析要求用TC编写一个演示程序,首先建立一个带头结点的整型单链表,然后根据用户选择,能够在单链表的任意位置插入、删除结点,以及确定某一元素在单链表中的位置。(1)建立单链表功能输入的形式和输入值的范围:输入若干正整数,

2、用空格分隔,用-1表示结束。输出的形式:按输入顺序显示所建立单链表中各结点的值。测试数据:输入111213141516-1后,显示建立的单链表为:111213141516(2)插入功能输入的形式和输入值的范围:输入一个表示插入位置的正整数和一个表示元素值的正整数,两个正整数用空格分隔。插入位置的合法取值范围是1到当前表长加1。输出的形式:如果输入参数合法,则按顺序显示插入后单链表中各结点的值,否则显示参数错误信息。测试数据:在前面所建单链表的基础上,做下面测试:a)输入6100后,显示插入后的单链表为:111213141510016b)输入0200后,显示参数错误信

3、息。c)输入9200后,显示参数错误信息。d)输入8200后,显示插入后的单链表为:111213141510016200(3)删除功能输入的形式和输入值的范围:输入一个表示删除位置的正整数,删除位置的合法取值范围是1到当前表长。输出的形式:如果输入参数合法,则按顺序显示删除后单链表中各结点的值,否则显示参数错误信息。测试数据:在前面插入后单链表的基础上,做下面测试:a)输入9后,显示参数错误信息。b)输入8后,显示删除后的单链表为:111213141510016(1)查找功能输入的形式和输入值的范围:输入一个要查找的元素值,元素值的合法取值范围是正整数。输出的形式:

4、如果存在要查找的元素,则显示要查找元素的序号位置,否则显示参数错误信息。测试数据:在前面插入、删除后单链表的基础上,做下面测试:a)输入200后,显示参数错误信息。b)输入100后,显示100的序号位置为63.概要设计(1)为了实现上述程序功能,需要定义一个简化的线性表抽象数据类型:ADTLinearList{数据对象:D={ai

5、ai∈IntegerSet,i=0,1,2,…,n,n≥0}结构关系:R={

6、ai,ai+1∈D}基本操作:InitLinkList(L)操作前提:L是一个未初始化的线性表操作结果:将L初始化为一个空的线性表CrtLin

7、kList(L)操作前提:L是一个已初始化的空表操作结果:建立一个非空的线性表LInsLinkList(L,pos,e)操作前提:线性表L已存在操作结果:将元素e插入到线性表L的pos位置DelLinkList(L,pos,e)操作前提:线性表L已存在操作结果:将线性表L中pos位置的元素删除,删除的元素值通过e返回LocLinkList(L,e)操作前提:线性表L已存在操作结果:在线性表L中查找元素e,若存在,返回元素在表中的序号位置;若不存在,返回-1}(2)本程序包含6个函数:主函数main()初始化单链表函数InitLinkList()显示单链表内容函数di

8、spLinkList()插入元素函数InsLinkList()删除元素函数DelLinkList()查找元素函数LocLinkList()各函数间调用关系如下:mainInitLinkListCrtLinkListDispLinkListInsLinkListDelLinkListLocLinkList(1)主函数的伪码main(){说明一个单链表L;初始化L;建立L;显示L;循环做下面处理,直到读入的选项是“退出”:{清屏;显示菜单;读入选项;根据具体选项,读入需要的数据,调用相应的函数进行处理,然后对得到的结果做必要的后处理,如打印输出。}}4.详细设计采用单链

9、表实现概要设计中定义的抽象数据类型,有关的数据类型和伪码算法定义如下:(1)类型定义typedefintElemType;typedefstructnode{ElemTypedata;structnode*next;}Node,*LinkList;(2)基本操作的伪码算法为了方便,在单链表中设头结点,其data域没有意义。l初始化BoolInitLinkList(LinkList*L){*L=申请新结点;如果申请失败,返回失败标志;(*L)->next=NULL;返回成功标志;}l建立单链表BoolCrtLinkList(LinkListL)/*L是已经初始化好

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。