目录
目 录 1
第一部分 算法实现设计说明 2
1.1题目 2
1.2软件功能 2
1.3设计思想 3
1.4逻辑结构与物理结构 4
1.5开发平台 8
1.6系统的运行结果分析说明 8
1.6.1 调试与开发的过程 8
1.6.2 开发软件的成果 9
1.6.3 运行结果 9
1.7操作说明 12
第二部分 综合应用设计说明 20
2.1题目 20
2.2软件功能 20
2.3设计思想 20
2.4逻辑结构与物理结构 22
2.5开发平台 23
2.6系统的运行结果分析说明 23
2.6.1 调试与开发的过程 23
2.6.2 开发软件的成果 24
2.6.3 运行结果 24
2.7操作说明 26
第三部分 实践总结 31
3.1.所做的工作 31
3.2.总结与收获 32
第四部分 参考文献 32
第一部分 算法实现设计说明
1.1题目
分别以单链表、循环链表、双向链表为例,实现线性表的建立、插入、删除、查找等基本操作。
要求:能够把建立、插入、删除等基本操作的过程随时显示输出来。
1.2软件功能
功能分为四部分。第一部分是功能选择模块,通过QT中的下拉式菜单栏完成。
后面三部分为主题功能模块,分别为单链表,循环链表和双向链表的基本操作实现。
单链表:
1.建立一个带头结点的空单链表
2.逐步演示插入指定元素值至指定位置
3.逐步演示随机插入3个节点至单链表的尾部
4.逐步演示从单链表中指定删除节点的位置进行删除
5.逐步演示输入查找值得到元素在单链表中的位置序号
6.销毁单链表
7.状态栏提示
循环链表:
1.建立一个带头结点的空循环链表
2.逐步演示插入指定元素值至指定位置
3.逐步演示随机插入3个节点至循环链表的尾部
4.逐步演示从循环链表中指定删除节点的位置进行删除
5.逐步演示输入查找值得到元素在循环链表中的位置序号
6.销毁循环链表
7.状态栏提示
双向链表:
1.建立一个带头结点的空双向链表
2.逐步演示插入指定元素值至指定位置
3.逐步演示随机插入3个节点至双向链表的尾部
4.逐步演示从双向链表中指定删除节点的位置进行删除
5.逐步演示输入查找值得到元素在双向链表中的位置序号
6.销毁双向链表
7.状态栏提示
以上所有功能均通过面向对象的设计方法实现,并且结合了QT的开发框架,逐步演示等功能均通过函数调用与ui绘制结合实现
1.3设计思想
为了达到UI界面的美观性,本次软件实现采用的是QT的开发框架。由于QT有完善的ui布局设计组件,我先设计了软件应该包含的功能并将四个ui界面初步地设计完成。接着开始完成代码逻辑部分的实现,我采用了自顶向下的分析方法。本题中的功能均是对于链表的操作,作为数据结构中最为基础的结构,当时学期中我们已经完成了控制台界面的程序编写,因此我已经非常熟悉了。我需要做的就是在当时程序的基础上,实现ui界面的同步跳转与显示逻辑。第一部分的功能选择仅需要通过选择框即可实现,重点在后续的三个功能中。由于这三种结构实现的功能几乎一致,只需要完成其中一个,其他两个即可轻松完成。
以单链表为例,单链表由各个节点组成,将节点提炼成一个节点类,通过对这些节点类的插入删除操作构成一个完整的单链表类。循环链表与双向链表稍作修改即可实现类似的功能。
图形化显示链表需要通过画图的方式,分为节点本身的图形,箭头与箭头连接线几个部分,分块实现各自的功能函数即可。
在代码编写的过程中,由于对代码结构理解的加深,需要对ui界面进行一些的微调从而最终完成软件的设计。