酷代码 AI
菜单
服务商

C++实现优化后的冒泡排序从大到小排序

以下是使用优化后的冒泡排序算法对输入的 `n` 个数进行从大到小排序的 C++ 代码: ```cpp #include <iostream> using namespace std; // 优化后的冒泡排序函数 void optimizedBubbleSort(int arr[], int n) { bool swapped; for (int i = 0; i < n - 1; i++) { swapped = false; for (int j = 0; j < n - i - 1; j++) { // 从大到小排序,若前一个数小于后一个数,则交换它们 if (arr[j] < arr[j + 1]) { swap(arr[j], arr[j + 1]); swapped = true; } } // 如果在某一轮中没有发生交换,说明数组已经有序,提前结束排序 if (!swapped) { break; } } } int main() { int n; cin >> n; int arr[100]; for (int i = 0; i < n; i++) { cin >> arr[i]; } // 调用优化后的冒泡排序函数 optimizedBubbleSort(arr, n); for (int i = 0; i < n; i++) { if (i > 0) { cout << " "; } cout << arr[i]; } cout << endl; return 0; } ``` ### 代码解释 1. **`optimizedBubbleSort` 函数**:该函数实现了优化后的冒泡排序算法。通过一个布尔变量 `swapped` 来记录每一轮是否发生了交换,如果没有发生交换,说明数组已经有序,可以提前结束排序,从而避免不必要的比较。 2. **`main` 函数**:首先读取输入的整数 `n`,然后读取 `n` 个整数存储在数组 `arr` 中。接着调用 `optimizedBubbleSort` 函数对数组进行排序,最后输出排序后的数组。 ######[AI问答 | 493点数解答 | 2026-04-03 19:25:03]

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