酷代码 AI
菜单
服务商

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]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]