例如:排序0到10中任意几个数,像是排序5、3、5、2和8,从小到大排
c语言代码
#include<stdio.h>
void main(){
int a[11];
for(int i=0;i<11;i++)
{
a[i]=0;
}
//桶排序的初始要全都赋0
for(int ia=0;ia<5;ia++)
{
scanf("%d",&t);
a[t]++;
}
// 利用对数组计数法,来按序记录输入的值,例如a[3]=2;代表有两个3输入,不再是往数组里存数。
for(int is=0;is<11;is++)//要想从大到小 for(int is=10;is>=0;is--)
for(int j=1;j<=a[is];j++) //j=1是因为只有大于1次时才可输出,例如1<=2,则输出两次同一个数
{
printf("%d",is);
}
}