车厢排序最少旋转次数的冒泡排序实现
```cpp #include <iostream> using namespace std; int a[100]; int main() { int n; cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; } int sum = 0; for (int i = 1; i <= n - 1; i++) { // 设置flag,表示是否还需要交换 bool flag = false; // j从1遍历到n-i,每一轮将大的元素冒泡到最后 for (int j = 1; j <= n - i; j++) { if (a[j] > a[j + 1]) { int temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; sum++; flag = true; } } // 如果这轮没有交换元素,就跳出循环 if (!flag) { break; } } cout << sum; return 0; } ``` 代码中通过冒泡排序对车厢顺序进行排序,在每一轮比较中,若相邻元素顺序不对则交换位置并增加交换次数 `sum`,同时将 `flag` 置为 `true`。若某一轮没有发生交换,即 `flag` 为 `false`,则说明数组已经有序,跳出循环,最后输出最少旋转次数 `sum`。 ######[AI问答 | 361点数解答 | 2026-04-11 19:43:05]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)354
- 用 C++ 和 OpenCV 生成带随机偏移的圆周上的点:代码剖析(字节豆包 | 29点数解答 | 2024-11-06 23:40:42)264
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)327
- C语言实现多班级学生信息管理系统:含增删改查与多样排序功能(GPT | 2547点数解答 | 2024-12-15 22:08:58)366
- C语言实现学生信息管理系统:含增删改查与多种排序功能(GPT | 6408点数解答 | 2024-12-15 22:10:03)354
- sys_module 表结构与 Java 实体类 SysModule 详解(字节豆包 | 252点数解答 | 2025-04-09 10:54:17)217
- MySQL表与Java类:`sys_role` 的创建及实体类定义全解析(字节豆包 | 168点数解答 | 2025-04-10 14:39:47)217
- C++ 破解“国王游戏”弱化版:贪心排序算法巧求最少最大奖赏(DeepSeek | 550点数解答 | 2025-04-28 18:16:50)407
- 巧妙贪心排序:解决国王游戏中大臣奖赏最大化问题(DeepSeek | 1002点数解答 | 2025-05-10 20:58:15)200
- C++ 实现:用贪心算法解国王游戏(弱化版),使大臣获赏最大值最小(DeepSeek | 507点数解答 | 2025-05-10 20:59:01)179
- 6 - 4 军事体能成绩冒泡排序:输入轮数输出中间结果的实现(字节豆包 | 250点数解答 | 2025-12-25 15:42:51)48
- 陆军工程大学学员军事体能成绩冒泡排序:按指定轮数输出中间结果(字节豆包 | 250点数解答 | 2025-12-25 15:52:30)67