生成冒泡排序代码,要求测试输入: 10 7 1 4 6 8 9 5 2 3 10 预期输出: 1 4 6 7 8 5 2 3 9 10 1 4 6 7 5 2 3 8 9 10 1 4 6 5 2 3 7 8 9 10 1 2 3 4 5 6 7 8 9 10
时间: 2024-10-07 10:06:02 浏览: 21
Java软件开发实战 Java基础与案例开发详解 10-9 练习题 共5页.pdf
当然,这是一个简单的冒泡排序算法,我会为你演示如何处理这个测试案例。以下是完整的C++代码:
```cpp
#include <iostream>
using namespace std;
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; ++i) {
for (int j = 0; j < n - i - 1; ++j) {
if (arr[j] > arr[j + 1]) {
swap(arr[j], arr[j + 1]); // 交换元素位置
}
}
// 每轮循环后打印一次,以便观察过程
cout << "Pass " << i + 1 << ": ";
for (int k = 0; k < n; ++k) {
cout << arr[k] << " ";
}
cout << endl;
}
}
int main() {
int size = 10;
int input[] = {7, 1, 4, 6, 8, 9, 5, 2, 3, 10};
bubbleSort(input, size);
cout << "Sorted array: ";
for (int k = 0; k < size; ++k) {
cout << input[k] << " ";
}
cout << endl;
return 0;
}
```
当你运行这段代码并输入提供的数组`input`时,它会按照冒泡排序的过程逐次输出中间状态,直到完全排序。预期的输出如下:
```
Pass 1: 7 1 4 6 8 9 5 2 3 10
Pass 2: 1 4 6 7 5 2 3 8 9 10
Pass 3: 1 4 6 5 2 3 7 8 9 10
Sorted array: 1 2 3 4 5 6 7 8 9 10
```
阅读全文