sortDemo/README.md

1.6 KiB
Raw Blame History

SortAlgorithms — 三种经典排序算法C++17

功能

使用纯 C++ 实现的三种排序算法,对整型数组进行升序排列:

  1. 冒泡排序 (bubbleSort) — 相邻元素比较交换稳定O(n²)
  2. 快速排序 (quickSort) — 分治递归,不稳定,平均 O(n log n)
  3. 选择排序 (selectionSort) — 每轮选最小交换不稳定O(n²)

工程结构

SortAlgorithms/
├── CMakeLists.txt
├── README.md
├── include/
│   └── app.hpp              # 公开函数声明Doxygen 注释)
├── src/
│   ├── app.cpp              # 排序算法实现
│   └── main.cpp             # 命令行演示入口
└── tests/
    └── basic_test.cpp       # 基于 assert 的单元测试

编译与运行

方式一:直接构建

mkdir build && cd build
cmake ..
cmake --build .
./SortAlgorithms               # 运行演示
./SortAlgorithms_test          # 运行测试

方式二:使用 CMake 预设(如有)

cmake --preset default
cmake --build build

接口说明

所有函数均定义在命名空间 sort 中,见 include/app.hpp

namespace sort {

/// @brief 冒泡排序(升序)
void bubbleSort(int arr[], int n);

/// @brief 快速排序(递归入口)
void quickSort(int arr[], int n);

/// @brief 快速排序递归核心
void quickSort(int arr[], int low, int high);

/// @brief 选择排序(升序)
void selectionSort(int arr[], int n);

}  // namespace sort

约束

  • C++17 标准
  • 不使用 std::sort 等标准库排序函数
  • 支持空数组和单元素数组