2039:【例5.6】冒泡排序


2039:【例5.6】冒泡排序


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

【题目描述】

编程输入n(1n20)">n(1n20)n(1≤n≤20)个小于1000">10001000非负整数,然后自动按从大到小的顺序输出。(冒泡排序)

【输入】

第一行,数的个数n">nn;

第二行,n">nn个非负整数。

【输出】

由大到小的n">nn个非负整数,每个数占一行。

【输入样例】

5
2 5 8 6 12

【输出样例】

12
8
6
5
2
 
#include
#include
#include
#include
#include<string>
#include
#include 
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]1]){
                swap(a[j],a[j+1]);
                r=false;
            }
        }
        if(r==true) break;
    }
    for(int i=1;i<=n;i++) cout<endl; 
     return 0;
}