Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hex9cf/internal-sorting-algorithms-comparison

Comparison of internal sorting algorithms.
https://github.com/hex9cf/internal-sorting-algorithms-comparison

Last synced: about 1 month ago
JSON representation

Comparison of internal sorting algorithms.

Awesome Lists containing this project

README

        

# 内部排序算法比较系统

## 项目介绍

一个内部排序算法比较系统,主要用于比较不同排序算法的性能。通过随机数据比较各算法的关键字比较次数和关键字移动次数,以取得直观感受。

## 功能

- 支持以下6种常用的内部排序算法:起泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、堆排序。
- 可以设置待排序表的表长,其中的数据由伪随机数产生程序产生。
- 通过不同的输入数据作比较,比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换计为3次移动)。

## 用户手册

欢迎使用内部排序算法比较系统。本手册将为您提供系统的各项功能和操作流程的详细指导。系统包含多种排序算法,用户可以通过输入对应的参数进行排序操作。

1. **初始化**:在终端中运行程序,按照提示输入待排序表的表长、待排序表的最大值和测试次数,然后系统会自动进行排序并输出结果。
2. **排序**:使用已生成的随机数列进行排序。系统提供了冒泡排序、直接插入排序、选择排序、快速排序、希尔排序和堆排序六种排序算法。每次测试,系统会对每种排序算法进行一次排序操作,并输出排序结果和排序过程中的比较次数和移动次数。
3. **结果展示**:查看每次排序的结果。系统会以直观的方式在终端上显示排序结果,包括排序算法名称、比较次数、移动次数以及排序后的数列。
4. **退出系统**:在任何时候通过关闭终端来退出系统。

## 源文件说明

- `main.cpp`:项目的主程序,包含主菜单和排序算法的测试。
- `bubble_sort.cpp`:实现了冒泡排序算法。
- `heap_sort.cpp`:实现了堆排序算法。
- `insert_sort.cpp`:实现了直接插入排序算法。
- `quick_sort.cpp`:实现了快速排序算法。
- `select_sort.cpp`:实现了简单选择排序算法。
- `shell_sort.cpp`:实现了希尔排序算法。
- `main.h`:包含了项目中使用的各种数据类型、常量和函数的声明。
- `sort.h`:包含了各种排序算法的函数声明。