圆桶排序
下面是代码:
#include<stdio.h>
int main()
{
int a[11],i,j,n,t;
for(i=0;i<11;i++)
a[i]=0;//数组初始化为0
scanf("%d",&n);
//依次输入n个小于等于10的数
for(i=0;i<n;i++)
{
scanf("%d",&t);//把每个输入的数都储存在变量t中
a[t]++;//表示每个相同数的个数
}
for(i=0;i<=10;i++)//依次循环输出判断a[0]--a[10]
for(j=1;j<=a[i];j++)//出现几次就打印几次,因为没有出现过的数值都为0,所以j从1 开始循环
printf("%d ",i);
getchar();getchar();//用来暂停程序,也可以用system("pause");代替
return 0;
}
下面是代码:
#include<stdio.h>
int main()
{
int a[11],i,j,n,t;
for(i=0;i<11;i++)
a[i]=0;//数组初始化为0
scanf("%d",&n);
//依次输入n个小于等于10的数
for(i=0;i<n;i++)
{
scanf("%d",&t);//把每个输入的数都储存在变量t中
a[t]++;//表示每个相同数的个数
}
for(i=0;i<=10;i++)//依次循环输出判断a[0]--a[10]
for(j=1;j<=a[i];j++)//出现几次就打印几次,因为没有出现过的数值都为0,所以j从1 开始循环
printf("%d ",i);
getchar();getchar();//用来暂停程序,也可以用system("pause");代替
return 0;
}