先举一个简单的例子,五个数的排序,例如:5 3 5 2 8
上面我们是从小到大排序的,若要从大到小排序只需要将
for(i=0;i<=10;i++)改成for(i=10;i>=0;i--)就OK啦
这种排序暂且叫做“桶排序”,这个算法好比有11个桶,编号从0-10.每出现一个数,就在对应编号的桶里做一个标记,最后只要数数每个桶里有几个标记就OK了。
现在我们尝试一下输入n个从0到1000之间的整数,将它们从大到小排序。提醒一下,如果需要对数据范围在0到1000的整数排序,我们需要1001个桶,来表示0到1000之间每一个数出现的次数。
输入案例为:
10
8 100 50 22 15 6 1 1000 999 0
代码实现