//@冒泡排序算法
//@author: bos
//@date: 2012.9.20
//算法思想:从最后的数字开始依次与前面的两两比较,并将
// 较大(较小)放在前面(交换位置),一趟排序
// 就将最大(最小)的数字排在了前面。依次进行
// n-1趟排序,且前面排好的不管 。
#include <iostream>
using namespace std;
void Swap(int &x, int &y)
{
int t;
t= x;
x= y;
y= t;
}
void BubbleSort(int a[], int n)
{
int i, j;
for(i= 1; i< n; ++i)//n-1趟排序
{
for(j= n-1; j> i- 1; j--)//前面i个已经排好序
{
if(a[j]> a[j- 1]) Swap(a[j], a[j- 1]);
}
}
}
int main()
{
int a[100];
int n;
cin>>n;
int k;
for(k= 0; k< n; k++) cin>>a[k];
BubbleSort(a, n);
for(k= 0; k< n; k++) cout<<a[k]<<' ';
cout<<endl;
return 0;
}