没有合适的资源?快使用搜索试试~ 我知道了~
链表演示工具设计说明1
需积分: 0 0 下载量 152 浏览量
2022-08-03
11:16:15
上传
评论
收藏 996KB PDF 举报
温馨提示
试读
15页
1.软件能够正确创建链表,并在创建链表成功时弹出新对话框,用以给出通知信息, 2.软件能够通过读取在对话框的编辑框中输入的结点位置和数值正确执行插入结 3.软件
资源详情
资源评论
资源推荐
第一部分 算法实现设计说明
1.1 题目
分别以单链表、循环链表、双向链表为例,实现线性表的建立、插入、删除、查找等基
本操作。要求能够把建立、插入、删除等基本操作的过程随时显示输出来。
1.2 软件功能
(1)创建链表:根据所选择的链表种类(单链表、循环链表、双向链表之一),创建对
应的链表,并生成相应的头结点。
(2)销毁链表:销毁当前存在的链表,包括销毁链表的所有元素结点和头结点。
(3)插入结点:根据所输入的结点位置和数值,在对应位置前插入一个结点,并设定
其数值。
(4)按序查找结点:根据所输入的结点位置,查找当前链表对应位置上的结点,获取
其数值。
(5)按值查找结点:根据所输入的结点值,查找当前链表中拥有该数值的结点第一次
出现的位置。
(6)删除结点:根据所输入的结点值,删除当前链表对应位置上的结点。
(7)图像移动:通过鼠标中键拖动图像,改变链表图像的显示位置。
(8)图像放大:通过鼠标向上滚轮,对链表图像进行放大显示。
(9)图像缩小:通过鼠标向下滚轮,对链表图像进行缩小显示。
1.3 设计思想
(1)实现思路:软件所要实现的目标是对单链表、双向链表、循环链表进行内容、结
构的维护,同时将链表的内容、结构以图形的方式显示在交互界面上。因此软件
整体分为两个部分:
①链表维护部分,根据《数据结构》课程所学内容,将链表的基本操作(创建、
销毁、插入、删除、查找等)进行实现、封装。由于在不同情况下需要分别实
现单链表、双向链表、循环链表,它们的功能都是双向循环链表的子集,因此
只需要维护一条双向循环链表即可,根据不同的选择在不同场合体现出双向循
环链表的单链表、双向链表、循环链表特征。
②图像显示部分,根据链表的种类,分别显示对应形状特征的头结点、元素结点
类型(包括域的个数等),在插入、删除时显示相应的前驱、后继指向关系的
变动,在插入、查找时将目标结点显示为红色,达到更好的人机交互感受。在
图形移动和缩放时先计算出变化后的图形位置、大小,之后使用双缓冲技术,
将更新后图像先绘制在位图中再通过位图一次性绘制于客户区,避免频繁刷新
客户区而带来闪烁感,稳定地显示图像。
(2)流程设计:如下图所示
1.4 逻辑结构与物理结构
(1)逻辑结构:软件所实现的功能是对数据进行管理、显示,这些数据元素每一个元
素仅有一个直接前驱和直接后继,逻辑结构属于线性表。
(2)物理结构:采用双向循环链表作为物理结构(存储结构),具体定义如下:
typedef struct LNode
{
int data;//存放数据
struct LNode* next;//存放直接后继的指针
struct LNode* prior;//存放直接前驱的指针
} LNode, * LinkList;
class CTestAPPDlg : public CDialogEx
{
protected:
LinkList L;//为对话框类的数据,保护成员,将链表进行封装
......
}
1.5 开发平台与运行环境
(1)开发平台
操作系统:Windows 10 家庭版
开发语言:C++
平台工具集:Visual Studio 2019 (v142)
框架:MFC 框架
Windows SDK 版本:10.0
第三方库:微软基础类库(Microsoft Foundation Classes),在基于对话框的
Windows 窗口程序开发模式中使用各类 WindowsAPI 和控件等。
(2)运行环境
操作系统:Windows 10 家庭版
推荐屏幕分辨率:1920*1080
备注:工程源代码需要在 VC++环境下打开,集成环境运行时需要安装 MFC 相关工
具,应用程序的可执行文件(TestAPP.exe)使用静态链接库的方式生成,可以直
接运行。
1.6 系统的运行结果分析说明
(1)调试与开发过程:本软件使用 MFC 框架,基于对话框的开发模式。通过在资源视
剩余14页未读,继续阅读
傅融
- 粉丝: 26
- 资源: 333
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0