2039:【例5.6】冒泡排序
2039:【例5.6】冒泡排序时间限制: 1000 ms 内存限制: 65536 KB 提交数: 18648 通过数: 10288 【题目描述】编程输入n(1≤n≤20)n(1≤n≤20)个小于10001000非负整数,然后自动按从大到小的顺序输出。(冒泡排序) 【输入】第一行,数的个数nn; 第二行,nn个非负整数。 【输出】由大到小的nn个非负整数,每个数占一行。 【输入样例】5 2 5 8 6 12 【输出样例】12 8 6 5 2 #include<iostream> #include<iomanip> #include<cstdio> #include<cstring> #include<string> #include<cstdio> #include <cmath> using namespace std; int main(){ int a[22],n; cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n-1;i++){ bool r=true; for(int j=n-1;j>=i;j--){ if(a[j]<a[j+1]){ swap(a[j],a[j+1]); r=false; } } if(r==true) break; } for(int i=1;i<=n;i++) cout<<a[i]<<endl; return 0; }
|