总时间限制:
1000ms
内存限制:
65536kB
描述
给定包含N个元素的数组a[1],a[2],a[3],...,a[N],利用冒泡排序将其排成升序。
每次从未排序部分的开头开始冒,将最大值冒到最后。
输入
2行
第1行包含1个正整数N(1 < N <= 10000),代表数组元素个数
第2行包含N个整数,空格隔开
输出
N-1行,既依次输出每趟冒泡排序后的数组
样例输入
3 3 1 2
样例输出
1 2 3 1 2 3
代码
#include<iostream>
#include<cmath>
using namespace std;
int a[10000];
int main()
{
int n;
cin>>n;
for(int i = 0; i < n; i++)
cin>>a[i];
for(int i = 0; i < n - 1; i++)
{
for(int j = 0; j < n-i -1; j++)
{
if(a[j] > a[j+1]) swap(a[j],a[j+1]);
}
for(int j = 0; j < n; j++)
cout<<a[j]<<" ";
cout<<endl;
}
}