#include <iostream>
#include <cstdio>
using namespace std;
const int Maxm = 1000 + 2;
int n[Maxm];
int main()
{
int m;
scanf("%d", &m);
for(int i = 1; i <= m; i++)
scanf("%d", &n[i]);
for(int i = 2; i <= m; i++)
{
int r = i - 1, key = n[i];
while(r > 0 && n[r] > key)
n[r + 1] = n[r], r--;
n[r + 1] = key;
}
for(int i = 1; i <= m; i++)
printf("%d ", n[i]);
printf("
");
return 0;
} //时间复杂度:[O(n), O[n2]
一种不是很稳定的算法,胜于容易理解,模拟扑克牌手牌排序(某猿至今不会打牌……)