题目:从键盘输入数组长度n(20以内),以及n个数,按从小到大的顺序进行排序。#include<iostream> using namespace std; void bubble(int a[], int len); int main(){ int n; cin>>n; int *Data = new int[n]; for(int i=0; i<n; i++){ cin>>Data[i]; } bubble(Data, n); for(int k=0; k<n; k++){ cout<<Data[k]<<" "; } return 0; } void bubble(int a[], int len) {用例: 假如输入为: 10 9 8 7 6 5 4 3 2 1 0 则输出为: 0 1 2 3 4 5 6 7 8 9
时间: 2024-01-15 13:04:52 浏览: 71
好的,以下是 C++ 的代码实现,使用冒泡排序算法:
```cpp
#include <iostream>
using namespace std;
void bubble(int a[], int len) {
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len - 1 - i; j++) {
if (a[j] > a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
int main() {
int n;
cin >> n;
int *Data = new int[n];
for (int i = 0; i < n; i++) {
cin >> Data[i];
}
bubble(Data, n);
for (int k = 0; k < n; k++) {
cout << Data[k] << " ";
}
delete[] Data;
return 0;
}
```
首先通过 `cin` 获取用户输入的数组长度 `n`,然后使用 `new` 运算符动态分配一个大小为 `n` 的数组 `Data`,并通过循环读入 `n` 个数。
然后调用 `bubble` 函数进行数组排序,该函数使用冒泡排序算法。最后循环输出排好序的数组。
注意,在程序的结尾需要使用 `delete[]` 运算符释放动态分配的数组空间。
阅读全文