基于QT实现九大排序的动态演示

基于QT实现九大排序的动态演示

在不久前完成我自己的残缺棋盘动态演示课程设计后,我又帮同学大致完成了一个排序算法的动态演示(狂敲5天代码)
由于代码量很大,我就不再这里展示了,代码都发到下面的百度网盘链接中
链接:https://pan.baidu.com/s/1TzPQWmXeKDPOik4BT2yCJg
提取码:4ebh
CSDN下载:https://download.csdn.net/download/weixin_43360801/12148404
这两个链接里内容的都是一样的

Qt:5.14.1
Qt Creator:4.11.0(Community)

整体界面
基于QT实现九大排序的动态演示

先说项目结构
Barthread.h、Barthread.cpp:所有9大算法的线程
Commonhelper.h:来自CSDN博主的代码“一去、二三里”用来打开qss文件
Dialogproducefile.h、dialogproducefile.cpp、dialogproducefile.ui:自定义的“生成数据文件”对话框
ShowBoard.h、showboard.cpp、showboard.ui:界面实现的代码
Resource.qrc:CSDN博主的代码“一去、二三里”的qss,“黑色炫酷”和“白色靓丽”,但由于不好看和显示问题,都没使用
Style.qrc:MIT授权的来自GitHub的qss,QDarkStyleSheet
基于QT实现九大排序的动态演示

1.首先,先点击左上侧的“生成数据文件”,会出现下面的对话框
数据数量就是生成的随机数的数量,最小值和最大值就是随机数的范围
程序会自动生成.dat的数据文件
(之后,如果你有生成过的数据文件,就可以直接打开)
基于QT实现九大排序的动态演示
2.你生成后,就会出现下面的界面,中间会有一个“提示信息”,如果它无反应,等待一会即可
基于QT实现九大排序的动态演示
3.我接下来介绍一下各部分的功能
上面的菜单栏,功能都没实现,只是做个样子
下面的
“打开过的数据文件”会显示所有你运行程序后打开过的数据文件
“数据基本信息”顾名思义
再往下,就是介绍当前排序的基本信息,会随着当前排序窗口的变化而变化
基于QT实现九大排序的动态演示
4.中间部分就是9大排序的动态演示,先点击“开始动态演示”,接着,你自己就会操作,所有的排序功能,包括按钮都已经很好的实现
基于QT实现九大排序的动态演示
5.右侧信息,饼图初始化时都是占比一样的,你可能已经发现,少了箱子排序和基数排序,没错,的确这样,因为他们没什么比较和交换。
此外,饼图代码中,后面几种排序的比较和交换次数还没完全实现好,只实现了部分。最下面的“打开文件数据统计”完全没有实现。
原因:我太累了,而且,已经敲烦了。。。
基于QT实现九大排序的动态演示