桶排序

桶排序

先举个简单的例子,假如有5个人他们分别考了3分,7分,5分,6分,5分,把他们分数从低到高输出。我们就可以先申请个数组例如a[11],然后将它们初始化为0。开始处理每一个人的分数,第一个是3分,那就让a[1]++,第2个人7分,那就让a[7]++,以此类推,最后,我们只需要将出现过得分数打印出来就行。例如a[5]他的值为2,那么就输出两次。
代码实现
#include<stdio.h>
int main()
{
int a[11]={0},i,j;
for(i=0;i<5;i++)//输入5个数
{
scanf("%d",&j);
a[j]++;
}
for(i=0;i<11;i++)
{
for(j=0;j<a[i];j++)
{
printf("%d ",i);
}
}
}
桶排序