数据结构课程设计---数据结构相关算法的演示系统

数据结构课程设计---数据结构相关算法的演示系统

ID:11390390

大小:575.50 KB

页数:35页

时间:2018-07-11

数据结构课程设计---数据结构相关算法的演示系统_第1页
数据结构课程设计---数据结构相关算法的演示系统_第2页
数据结构课程设计---数据结构相关算法的演示系统_第3页
数据结构课程设计---数据结构相关算法的演示系统_第4页
数据结构课程设计---数据结构相关算法的演示系统_第5页
资源描述:

《数据结构课程设计---数据结构相关算法的演示系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、课程设计实验报告课程名称:《数据结构课程设计》设计题目:数据结构相关算法的演示系统(1)院系:信息科学与工程学院35目录一、需求分析…………………………………3二、概要设计…………………………………4三、详细设计…………………………………6四、调试分析…………………………………21五、测试结果…………………………………23六、课程设计总结……………………………3335一、参考文献…………………………………34二、附录………………………………………34一、需求分析:设计一个数据结构相关算法的演示系统,

2、主要实现的功能如下:1:顺序表的插入、删除和合并等基本操作;2:利用插入运算建立链表;实现链表的插入、删除、计数、输出及有序链表的合并;3:串的模式匹配(包括求next值和nextval值)。基于以上要求,可以在设计系统的时候,在主界面设计三个大模块,即是按照要求来划分模块,每个模块实现不同的功能要求,第一个模块就实现线性表的相关操作,第二个模块就实现链表的相关操作,第三个模块就实现串的相关操作。(一):在第一个模块中,即是顺序表的相关操作中,主要能实现顺序表的循环插入赋值,插入、删除和合并等基本操

3、作,顺序表的元素可以是数字也可以是字符等,但是在程序中已经定义ElemType为int型,故输入的形式为整数,采用的是动态存储分配(初始定义LIST_INIT_SIZE100),当输入的元素过多内存不足是会自动添加(LISTINCREMENT10),当然输出的也是整数,第一个模块根据功能分为几个小菜单项,以下是测试数据:顺序表的初始化,输入1、2、3、4以‘00’结束,输出为:初始化后的顺序表元素为NO.01,NO.02,NO.03,NO.04,当然元素个数没有限制,但是单个的元素值限制,因为一个i

4、nt型数据通常用两个字节存放,即是16位二进制,当输入的数值超过这个范围是计算机打印出乱码,此时可以选择重新输入数据。在顺序35表的插入操作中,要求你输入插入的位置和插入的值,例如在上面初始化的基础上,在第4个位置插入4,结果为:插入元素后的顺序表元素为NO.01,NO.02,NO.03,NO.04,当插入的位置大于了已有的表长度,则系统会提醒输入错误,请重新输入!删除操作和插入操作一样,首先选择要删除的元素位置,例删除第二个元素,结果为:删除操作后顺序表的元素是NO.01,NO.03,NO.04,

5、同样的当所选择的位置大于了当前已有的长度,则系统提起输入错误,请重新输入!!在顺序表的合并操作中,主要是把两个元素值非递减排列的线性表合并为一个,并且合并后的顺序表值也是非递减的,输入另外一个顺序表的元素,例输入4、5、6,结果为:合并后的顺序表元素为NO.01,NO.02,NO.03,NO.04,、NO.05,NO.06,当所输入的元素值不是按非递减的顺序,例两表的元素分别为6、2、1和8、4、3时,结果为6、2、1、8、4、3,并无顺序。(二):在第二个大模块中,主要实现的是链表的初始化,插入,

6、删除,计数,查询和有序链表的合并功能,并且有检错和改错的能力,和线性表的一样,定义的数据类型为int型,故所输入的也是整数,元素个数不限,但是单个的元素值有限,链表不需要为其开辟一块内存空间,是非随机存储的存储结构,以下是测试数据:在链表的初始化中,要求先输入要插入的元素个数,如3个分别是3、2、1,并逆序插入,结果为:初始化后的链表的值为1、2、3,链表长度为3,和线性表一样当所输入的元素值超过int型的字节后,就会出现乱码,该模块中对链表的计数是结合在每一个功能中,当对链表进行操作后可以自动返回

7、链表的长度即是计数功能,此时可以重新输入元素在进行下面的操作。在链表的插入功能中,可以根据已有的链表选择插入的位置和插入值,例在初始化的基础上在第4个位置插入4,结果为:插入成功,插入后链表的元素为1、2、3、4,链表长度为4,如果输入的位置大于了已有的链表长度,那么系统会提醒输入错误,请重新输入插入的位置和元素值,或者可以键入‘0’直接返回上一级菜单。删除功能和插入功能基本上一致,首先也是要输入要删除的元素位置,例删除第3号元素,结果为:删除成功,删除后链表的元素为1、2、4,链表长度为3,当所输

8、入的位置大于当前的链表长度即不存在该位置,系统提示不存在该节点,请重新输入要删除的位置,如不想删除操作了,可键入‘0’返回上一级菜单。选择了链表的合并功能后,系统会提示初始化另外一个链表,输入元素个数和元素值,该合并功能也是按元素的非递减进行合并,合并后的链表元素也是按非递减的顺序排列,例输入3个元素,分别为6、5、4逆序插入,结果为:Lb链表的初始化元素为4、5、6,合并后的链表Lc的元素为1、2、4、4、5、6,链表长度为6,当输入的元素没有按照非递减排列时,合并

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

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

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