#include <stdlib.h>
#include <stdio.h>
int main()
{
int a[123];
int i,j;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
Change(0,9,a);
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
return 0;
}
void Change(int first,int last,int a[])
{
int m=0,n=0;
int i,j,k;
i=first;
j=last;
int fg;
while(i!=j)
{
while(a[j]>=a[first]&&i<j)
j--;
while(a[i]<=a[first]&&i<j)
i++;
if(i<j)
{
fg=a[j];
a[j]=a[i];
a[i]=fg;
}
}
fg=a[first];
a[first]=a[i];
a[i]=fg;
Change(first,i-1,a);
//假如说上面这个函数在第n层结束,(他会回到第n-1层),
//那么他在下面这个函数中的left值是第n-1层的left调用时传下来的
Change(i+1,last,a);
}