木桶法
#include <stdio.h>

int main()
{
    int n = 0,tmp = 0,max = 0;
    scanf("%d",&n);
    int arr[1000]={0};                //最大数1000,所以准备一千个桶
    for(int i = 0;i<n;++i)            
    {
        scanf("%d ",&tmp);            //将输入的数字对号入桶
        arr[tmp]=tmp;
        if(tmp>max)                    //记录出现的最大的数字,也就是桶号
            max = tmp;
    }
    for(int i = 1;i<=max;++i)            //按照桶号从小到大打印,未使用的桶是零不打印,打印到使用的最大的桶号为止
        if(arr[i])
        printf("%d ",arr[i]);
    return 0;
}