木桶法
#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; }