C++实现直接插入排序:附测试主函数及边界情况考量
以下是使用 C++ 实现直接插入排序并设计测试主函数的代码: ```cpp #include <iostream> using namespace std; // 直接插入排序函数 void insertionSort(int arr[], int n) { int i, key, j; for (i = 1; i < n; i++) { key = arr[i]; j = i - 1; while (j >= 0 && arr[j] > key) { arr[j + 1] = arr[j]; j = j - 1; } arr[j + 1] = key; } } // 打印数组函数 void printArray(int arr[], int size) { for (int i = 0; i < size; i++) cout << arr[i] << " "; cout << endl; } // 测试主函数 int main() { int arr[] = {12, 11, 13, 5, 6}; int n = sizeof(arr) / sizeof(arr[0]); cout << "排序前的数组为: "; printArray(arr, n); insertionSort(arr, n); cout << "排序后的数组为: "; printArray(arr, n); return 0; } ``` 额外需要注意的逻辑点: 1. 边界情况,比如数组为空或只有一个元素。 2. 对于重复元素的处理是否正确。 3. 排序后的数组元素顺序是否完全符合升序要求。 ######[AI写代码神器 | 354点数解答 | 2024-12-17 09:46:09]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)380
- C 语言实现链表操作:创建、输出、删除及插入功能详解(字节豆包 | 534点数解答 | 2024-12-09 21:33:48)364
- C语言实现链表创建、输出、删除与插入操作的完整代码及注意要点(字节豆包 | 609点数解答 | 2024-12-18 12:18:21)380
- C++实现矩阵类:重载运算符+与=,含构造、析构及异常处理(字节豆包 | 671点数解答 | 2025-06-23 15:25:09)241
- C++ 实现矩阵类:重载运算符加与赋值,含构造、析构及错误处理(字节豆包 | 993点数解答 | 2025-06-23 15:27:43)172
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)350
- JavaScript开发必备:深入解析isNaN()函数及使用示例(阿里通义 | 217点数解答 | 2023-11-09 01:03:12)263
- JavaScript开发:手把手教你实现一个 call 函数!(阿里通义 | 361点数解答 | 2023-11-09 01:51:10)253
- JS开发:手把手教你实现一个简单的bind函数!(阿里通义 | 276点数解答 | 2023-11-09 01:51:16)287
- PHP开发必知:func_num_args()函数获取函数参数数量的用法及示例(百度文心 | 286点数解答 | 2023-11-09 17:57:51)215
- PHP 开发必知:strstr() 与 stristr() 函数的区别大揭秘!(百度文心 | 321点数解答 | 2023-11-09 17:58:04)219
- 神秘代码大揭秘:众多变量定义背后藏着什么秘密?(字节豆包 | 55点数解答 | 2024-08-16 15:22:27)344