2039:【例5.6】冒泡排序

2039:【例5.6】冒泡排序


时间限制: 1000 ms         内存限制: 65536 KB
提交数: 18648     通过数: 10288

【题目描述】

编程输入n(1n20)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;
}

 

posted @ 2022-05-26 21:16  xxsy387  阅读(724)  评论(0)    收藏  举报