Skip to content

About

use Qt create random data to see the time difference between bubble\shell\radix\quick\heap sort algorithm

Resources

Stars

2 stars

Watchers

1 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

sortsWithQt

基于 Qt Widgets 的排序算法练习:生成一组整数,单项排序可查看排序结果与耗时;“全过一遍”依次运行五种实现以比较耗时。

排序操作与算法示意

flowchart TD
    A[生成默认 50,000 个 rand 整数] --> B{选择操作}
    B -->|单项| C[冒泡按钮对应实现]
    B -->|单项| D[快速排序]
    B -->|单项| E[希尔排序]
    B -->|单项| F[堆排序]
    B -->|单项| G[基数排序]
    B -->|全过一遍| H[复制输入并顺序计时五种实现]
    C --> I[单项结果框显示排序列表与耗时]
    D --> I
    E --> I
    F --> I
    G --> I
    H --> J[记录耗时,不显示排序列表]
Loading

基于源码绘制的算法示意 / 非运行截图;仓库没有 UI 图片资源。

功能

  • 生成默认数量为 50,000 的随机整数,并显示未排序列表。
  • 单独运行冒泡(按钮名称)、快速、希尔、堆或基数排序。
  • 点击 全过一遍,在同一组输入数据的五个副本上依次运行五种实现并记录耗时;该操作不会把排序结果显示到结果框。
  • 单项排序会显示结果和毫秒计时;耗时仅供本机练习参考,不是跨机器性能基准。

构建与运行

环境要求

  • Qt Creator 与包含 Qt Widgets 的 Desktop Kit。
  • 与所选 Qt Kit 匹配的 qmake 和 C++11 编译器(MinGW 或 MSVC)。

使用 Qt Creator

  1. 打开 Sort.pro。
  2. 选择并配置已安装的 Desktop Kit。
  3. 构建项目并运行。

使用 MinGW 命令行

在已配置 Qt/MinGW 的命令行中,从仓库根目录执行:

mkdir build
cd build
qmake ..\Sort.pro
mingw32-make

使用 MSVC Kit 时,在对应的 Qt/MSVC 开发者命令行中运行 qmake,并以 nmake 替换 mingw32-make。

实现与限制

  • 核心实现位于 mainwindow.cpp;输入使用 QVector<int>,界面通过 Qt Widgets 显示输入、输出与计时。
  • UI 标为“冒泡排序”的函数并非传统相邻交换式冒泡排序,而是逐项与后续元素比较并交换。
  • 基数排序当前循环只进行 d - 1 轮(d 为最大值位数),可能漏掉最高位;实现也未覆盖负数,不能假定结果始终有序。
  • 生成数量固定为 50,000;随机数由 rand() 产生。算法计时不包含结果列表的界面输出;生成耗时包含逐项更新文本框的开销,计时仅供本机参考,不是性能结论。
  • 本机没有 Qt Creator 或 qmake,未构建或运行项目;仓库没有自动化测试目标或预编译发布包,因此排序结果正确性和实际性能均未验证。

About

use Qt create random data to see the time difference between bubble\shell\radix\quick\heap sort algorithm

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages