C++实现冒泡排序:输出每轮排序情况与最终结果
以下是一个用C++编写的冒泡排序程序,该程序会对任意输入的n个整数(1 <= n <= 100)进行排序,并按照要求输出每轮未排序的数据以及最终的排序结果: ```cpp #include <iostream> #include <vector> void bubbleSort(std::vector<int>& arr) { int n = arr.size(); for (int i = 0; i < n - 1; ++i) { std::cout << "Round " << i + 1 << " "; for (int j = 0; j < n - i - 1; ++j) { if (arr[j] > arr[j + 1]) { std::swap(arr[j], arr[j + 1]); } } // 输出当前轮次未排序的数据 for (int k = 0; k < n; ++k) { std::cout << arr[k]; if (k < n - 1) { std::cout << " "; } } std::cout << std::endl; } } int main() { int n; std::cout << "Enter the number of integers (1 <= n <= 100): "; std::cin >> n; if (n < 1 || n > 100) { std::cerr << "Error: The number of integers must be between 1 and 100." << std::endl; return 1; } std::vector<int> arr(n); std::cout << "Enter the integers: "; for (int i = 0; i < n; ++i) { std::cin >> arr[i]; } bubbleSort(arr); std::cout << "Sorted integers: "; for (int i = 0; i < n; ++i) { std::cout << arr[i]; if (i < n - 1) { std::cout << " "; } } std::cout << std::endl; return 0; } ``` 程序说明: 1. 输入部分: - 首先,用户输入整数的数量`n`,并确保`n`在1到100之间。 - 然后,用户输入`n`个整数,存储在`std::vector<int>`中。 2. 冒泡排序部分: - 使用两层循环进行冒泡排序。 - 在外层循环中,每次迭代代表一轮排序。 - 在内层循环中,比较相邻元素并交换它们(如果前一个比后一个大)。 - 每完成一轮排序后,输出当前轮次的数据,数据之间用空格分隔。 3. 输出部分: - 冒泡排序完成后,输出最终的排序结果。 示例输出: 假设输入如下: ``` Enter the number of integers (1 <= n <= 100): 5 Enter the integers: 5 2 9 1 5 ``` 输出将类似于: ``` Round 1 5 2 5 1 9 Round 2 2 5 1 5 9 Round 3 2 1 5 5 9 Round 4 1 2 5 5 9 Sorted integers: 1 2 5 5 9 ``` 希望这个示例能满足你的需求! ######[AI写代码神器 | 823点数解答 | 2024-11-10 16:01:05]
- 易语言子程序 TriggerCode 代码详解:通配符查找与结果运算(字节豆包 | 607点数解答 | 2026-02-09 11:59:34)57
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)383
- C++实现矩阵类:重载运算符+与=,含构造、析构及异常处理(字节豆包 | 671点数解答 | 2025-06-23 15:25:09)244
- C++ 实现矩阵类:重载运算符加与赋值,含构造、析构及错误处理(字节豆包 | 993点数解答 | 2025-06-23 15:27:43)175
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)352
- C++编程揭秘:三位数变换几次能得到495?(字节豆包 | 365点数解答 | 2025-09-26 22:55:13)102
- C++ 实现:小 Q 送礼物之数字取余,开发中这 3 点要小心! (字节豆包 | 321点数解答 | 2025-11-05 18:39:56)135
- C++ 助力禾木:解决两套种树方案合并种树数量难题!(DeepSeek | 315点数解答 | 2025-11-08 15:40:30)63
- C++ 解决禾木种树问题:输入边界、数据结构特性及重复处理要点 (字节豆包 | 419点数解答 | 2025-12-28 15:13:56)112
- C++ 助力禾木解决院子种树数量难题!附代码详解(字节豆包 | 507点数解答 | 2026-01-24 20:11:19)39
- Java顺序表高效删除算法实现与实验验证报告(阿里通义 | 1347点数解答 | 2026-03-26 21:08:33)30
- Python 实现:四位数重组求最大最小数差值(字节豆包 | 144点数解答 | 2026-02-01 12:49:54)41