酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

C++实现优化选择排序:将输入整数从大到小排序

以下是使用优化后的选择排序算法,将输入的 `n` 个数从大到小进行排序的 C++ 代码: ```cpp #include <iostream> using namespace std; // 优化后的选择排序函数,从大到小排序 void optimizedSelectionSort(int arr[], int n) { for (int i = 0; i < n - 1; i++) { // 找到从 i 到 n-1 范围内的最大元素的索引 int maxIndex = i; for (int j = i + 1; j < n; j++) { if (arr[j] > arr[maxIndex]) { maxIndex = j; } } // 如果最大元素不在当前位置 i,则交换它们 if (maxIndex != i) { swap(arr[i], arr[maxIndex]); } } } int main() { int n; cin >> n; // 读取整数 n int arr[100]; for (int i = 0; i < n; i++) { cin >> arr[i]; // 读取 n 个整数 } // 调用优化后的选择排序函数 optimizedSelectionSort(arr, n); // 输出排序后的数组 for (int i = 0; i < n; i++) { cout << arr[i]; if (i < n - 1) { cout << " "; } } return 0; } ``` ### 代码解释: 1. **`optimizedSelectionSort` 函数**:此函数实现了优化后的选择排序算法。它会遍历数组,每次找到从当前位置 `i` 到数组末尾的最大元素,并将其与当前位置 `i` 的元素交换。若最大元素就在当前位置,则不进行交换。 2. **`main` 函数**:先读取整数 `n`,接着读取 `n` 个整数存储到数组中,然后调用 `optimizedSelectionSort` 函数对数组进行排序,最后输出排序后的数组,相邻数字用空格分隔。 ######[AI问答 | 507点数解答 | 2026-08-29 19:44:03]

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