1.1 题目

题号1:分别以单链表、循环链表、双向链表为例,实现线性表的建立、插入、删除、查找等基本操作。

要求:能够把建立、插入、删除等基本操作的过程随时显示输出来。

1.2 软件功能

功能分为三个板块,分别是单链表、循环链表、双向链表的建立、插入、删除等基本操作的过程。

单链表

查看单链表定义,相应算法代码

建立一个带头结点的空单链表

指定插入位置及元素值到单链表中

随机插入5个元素到单链表的尾部

指定删除元素位置(从1开始),从单链表中删除

输入查找值,得到元素在单链表中位置

清空销毁单链表

能够调整演示的速度快慢

循环链表

查看循环链表定义,相应算法代码

建立一个带头结点的空循环链表

指定插入位置及元素值到循环链表中

随机插入5个元素到循环链表的尾部

指定删除元素位置(从1开始),从循环链表中删除

输入查找值,得到元素在循环链表中位置

清空销毁循环链表

能够调整演示的速度快慢

双向链表

查看双向链表定义,相应算法代码

建立一个带头结点的空双向链表

指定插入位置及元素值到双向链表中

随机插入5个元素到双向链表的尾部

指定删除元素位置(从1开始),从双向链表中删除

输入查找值,得到元素在双向链表中位置

清空销毁双向链表

能够调整演示的速度快慢

上述所有功能采用面向对象的方法通过C++语言程序结合QT框架实现,后面会详细介绍。

1.3 设计思想

学习相应知识,做好必要的准备工作

由于以前都是采用控制台进行编程,即便涉及一些简单的图像界面,但是比较粗制简陋,无法入眼,并不是标准规范、人性化的用户交互界面,所以要完成本次的数据结构课程设计必须从零起步,学习可视化编程开发。在C++的一系列可视化开发框架下,我选择用Qt来实现程序的功能,因为Qt相对较为简单,容易上手入门,同时Qt是较为新兴的技术框架,并且跨平台开发,很有前景和实用性。通过几天的学习,理解掌握的Qt的必要知识,包括最为核心的信号和槽函数机制、UI控件的使用、Scene-View视图框架等核心技术。

自顶向下设计

有了必要的准备知识,就可以进行程序的总体规划设计了。自顶向下分析是常用的分析方法,本次题目其实较为简单,常用的链表结构我们在学习数据结构课程时已经非常熟练,此次实现图形化界面的演示需要结合原有结构,融入图形化元素和用户界面接口,对程序的功能分析,显然程序的功能分为三个子功能模块,分别对每个模块进行设计即可完成整个任务。

分模块实现

虽然程序有三个部分组成,但是每个部分的功能需要完全一样,用户界面完全一样,划分为三个模块,只要实现一个模块,其余两个模块只要非常短的时间就可完成。实际开发时,先实现单链表模块,完成以后,循环链表和双向链表只需要在前面基础上稍作修改即可。

自底向上实现

具体实现时,先定义每个类的属性和相应函数,然后根据定义,设计相应算法自底向上进行实现,逐个击破,最终完成所有程序的设计。

参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/1393.html

基于QT实现的可视化链表(单链表、循环链表、双向链表)相关推荐

  1. 建立单链表 单链表的插入_单链列表插入

    建立单链表 单链表的插入 All possible cases: 所有可能的情况: Inserting at beginning 开始插入 Inserting at the ending 在末尾插入 ...

  2. 数据结构上机-尾、头插法建立单链表-单链表遍历C语言完整代码实现

    点击此处跳转视频链接:数据结构上机-尾.头插法建立单链表-单链表遍历C语言完整代码实现

  3. 基于VUE的ElementUi可视化表单设计器布局器

    码农苦码农懂的个人空间 工作日志 正文 基于VUE的ElementUi可视化表单设计器布局器 顶 原 码农苦码农懂 发布于 09/11 15:35 字数 1187 阅读 41 收藏 0 点赞 1 评论 ...

  4. 数据结构之 链表( 单链表, 双链表,循环链表)

    前篇.链表的概括 1.链表(Linked list)说明 是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer).由于不必须按 ...

  5. 单链表-单链表拆分为A和B链表(尾插法+头插法)

    题意: 设C{a1,b1,a2.b2-an,bn}为一线性表,采用带头结点的单链表hc存放,设计一个就地算法,将其拆分为两个线性表,每个线性表均采用带头结点的单链表存储,使得: A = {a1,a2. ...

  6. 单链表-单链表拆分为两个线性表(尾插法+尾插法)

    题意: 设C{a1,b1,a2.b2-an,bn}为一线性表,采用带头结点的单链表hc存放,设计一个就地算法,将其拆分为两个线性表,每个线性表均采用带头结点的单链表存储,使得: A = {a1,a2. ...

  7. 单链表-单链表A拆分为A(偶)和C(奇) (尾插法建表)

    题意: 有一个整数元素建立的单链表A,设计一个算法,将其拆分成两个链表A 和B,使得链表A中含有所有偶数的结点,B链表中含有所有的奇数结点.且保持原来的相对次序. 单链表的存储结构: typedef ...

  8. 数据结构与算法笔记(三)—— 链表(单链表、循环链表、双向链表)

    一.前沿 1.1.为什么需要链表 顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活. 链表结构可以充分利用计算机内存空间,实现灵活的内 ...

  9. 【编程2】单链表+单链表反转(LeetCode. 206)

    文章目录 一.链表 二.单链表 1.基本概念 (1)单链表 (2)头指针--必有元素 (3)头结点--非必需元素 (4)尾结点 2.查找操作 3.插入操作 4.删除操作 三.设计思想-- 时间 < ...

最新文章

  1. python中类和对象的内容_python中的类和对象
  2. 带你用深度学习虚拟机进行文本迁移学习(附代码)
  3. 用终端访问路由器设置端口开发_Serial for Mac(全功能串行终端管理软件)
  4. 10 个让你相见恨晚的 Python 骚操作
  5. lambda中sorted排序
  6. 安装fastdfs-master
  7. redis入门——Spring整合篇
  8. SpringBoot项目在启动时出现了Cannot determine embedded database driver class for database type NONE 错误
  9. c语言关键字识别程序,c语言-以关键字搜索程序
  10. MySQL 5.6内存占用过高解决方案
  11. (APIO2014)序列分割
  12. 永磁同步电机PMS直接转矩控制 Matlab/Simulink仿真模型
  13. Vue - 引入集成 Tinymce 富文本编辑器(详细步骤及运行Demo),在 Vue.js 项目中使用富文本插件详细教程,附带超级详细的注释说明
  14. Windows下设置Mongodb用户名密码
  15. PDF连接服务器信息,远程连接服务器.pdf
  16. 2021年计算机保研记录 (中南,南理工,重大软,东华)
  17. centos7安装netspeeder教程
  18. String转成JSON或String转为list后转为JSON或String转为map后转为JSON
  19. 7段并行数码管显示实验C语言,七段数码管显示十进制数字 (15)
  20. TVS (瞬态二极管)

热门文章

  1. 希捷160G 7200.10 8Mb硬盘辨真伪!
  2. 6-2 使用函数输出指定范围内Fibonacci数的个数 (20 分)
  3. 抖音算法实习生面经(一面+二面)
  4. linux编写脚本读取txt文件,用bash脚本或者批处理 bat脚本 读取一个目录下.txt文件第一行内容存放到新文件a.txt...
  5. win下海康工业相机使用python读取视频并转换成cv格式
  6. Scaner和顺序语句
  7. 基于HTML美中华传统文化题材网页项目的设计与实现 (纯HTML+CSS制作中国茶文化网站)
  8. 百融金服获2亿B轮融资 打造融合线上线下基因的第三方金融大数据公司
  9. apache c语言源码,Apache模块开发/用C语言扩展apache(2:APR编程介绍)
  10. hdu 1998 奇数阶魔方 规律