题目:从键盘输入数组长度n(20以内),以及n个数,按从小到大的顺序进行排序。用例: 假如输入为: 10 9 8 7 6 5 4 3 2 1 0 则输出为: 0 1 2 3 4 5 6 7 8 9 注意:请把代码写在 //=============Begin============= 和 //=============End============= 之间 */ #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) { //=============Begin============= //=============End============= }
时间: 2023-08-06 07:17:44 浏览: 90
好的,以下是 C++ 的实现代码:
```
#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-i-1; 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;
}
```
在 `bubble` 函数中,我们使用冒泡排序对数组进行从小到大排序。具体实现是通过两层循环,每次将相邻两个数进行比较,如果前一个数比后一个数大,则交换它们的位置。经过一轮循环后,最大的数就会被排到最后面,然后再进行下一轮循环,直到所有的数都被排好序。
在主函数中,我们先读入用户输入的数组长度 n 和 n 个数,并使用 `new` 运算符动态分配一个大小为 n 的整型数组 Data。然后调用 `bubble` 函数对数组进行排序,并输出排序后的结果。最后使用 `delete` 运算符释放动态分配的数组空间。
阅读全文