/*shell插入排序算法的平均时间复杂度为O(n^1.3),
它为不稳定排序算法,
d为每次所分组数(初始为n/2)。
*/
#include <stdio.h>
int sum[1010];
int main()
{
int n,i,j,d,temp;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&sum[i]);
}
d=n/2;
while(d>=1)
{
for(i=d+1;i<=n;i++)
{
temp=sum[i];
j=i-d;
while(temp<sum[j]&&j>0)
{
sum[j+d]=sum[j];
j-=d;
}
sum[j+d]=temp;
}
d/=2;
}
for(i=1;i<=n;i++)
printf("%d ",sum[i]);
printf("\n");
return 0;
}