C++ 利用 swap 函数实现选择排序解决数字排序问题
以下是使用 C++ 实现利用 `swap` 函数完成选择排序并解决该问题的代码: ```cpp #include <iostream> using namespace std; // 选择排序函数 void selectionSort(int arr[], int n) { for (int i = 0; i < n - 1; i++) { // 找到最小元素的索引 int minIndex = i; for (int j = i + 1; j < n; j++) { if (arr[j] < arr[minIndex]) { minIndex = j; } } // 使用 swap 函数交换元素 swap(arr[i], arr[minIndex]); } } int main() { int n; cin >> n; // 读取需要排序的数字数量 int arr[100]; for (int i = 0; i < n; i++) { cin >> arr[i]; // 读取 n 个整数 } // 调用选择排序函数 selectionSort(arr, n); // 输出排序后的结果 for (int i = 0; i < n; i++) { if (i > 0) { cout << " "; } cout << arr[i]; } cout << endl; return 0; } ``` ### 代码解释: 1. **选择排序函数 `selectionSort`**: - 外层循环 `for (int i = 0; i < n - 1; i++)` 控制排序的轮数,每一轮确定一个最小元素的位置。 - 内层循环 `for (int j = i + 1; j < n; j++)` 用于找到当前未排序部分的最小元素的索引。 - 使用 `swap` 函数交换当前元素和最小元素的位置。 2. **主函数 `main`**: - 读取需要排序的数字数量 `n`。 - 读取 `n` 个整数并存储在数组 `arr` 中。 - 调用 `selectionSort` 函数对数组进行排序。 - 输出排序后的数组元素,相邻元素之间用空格隔开。 ######[AI问答 | 530点数解答 | 2026-05-23 21:18:26]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)395
- C 语言实现链表操作:创建、输出、删除及插入功能详解(字节豆包 | 534点数解答 | 2024-12-09 21:33:48)367
- C语言实现链表创建、输出、删除与插入操作的完整代码及注意要点(字节豆包 | 609点数解答 | 2024-12-18 12:18:21)385
- C++ 实现:精准统计给定范围 [L, R] 内数字 2 出现的次数及代码详解(字节豆包 | 401点数解答 | 2026-02-05 21:17:05)77
- C++实现:统计[L, R]范围内数字2出现的次数及代码详解(字节豆包 | 489点数解答 | 2026-02-07 17:12:26)93
- 超详细:JDK安装及Windows系统环境变量设置全攻略 (阿里通义 | 376点数解答 | 2024-03-06 17:27:29)376
- C 语言代码:补充函数实现变量值交换及注意要点揭秘(字节豆包 | 174点数解答 | 2024-12-12 00:37:54)180
- C 语言:实现 swap 函数完成两变量交换的代码及逻辑要点(字节豆包 | 121点数解答 | 2024-12-15 19:32:57)222
- C3期末:精准求解 3 - 20 范围内数列第 k 项值及注意要点(字节豆包 | 242点数解答 | 2025-06-15 11:26:19)169
- C++求解:查找3 - 20项数列第k项值及注意要点(字节豆包 | 325点数解答 | 2025-06-15 11:27:11)192
- 优化高中英语核心词汇短语HTML页面,这些建议不容错过!(DeepSeek | 217点数解答 | 2025-07-01 23:41:02)213
- Python:生成含随机缺失值二维数组并处理,附随机选元素赋缺失值代码解析(阿里通义 | 300点数解答 | 2025-03-13 20:19:30)236