桶排序算法的理解及C语言版代码示例
| 理解: 举例 
#include <stdio.h>
int main()
{
 int a[11],i,j,t;
 //初始化桶数组
 for(i=0;i<=10;i++)
 {
   a[i] = 0;
 }
 //循环读入5个数
 for(i = 1;i<=5;i++)
 {
   //把每一个数读到变量中去
   scanf("%d",&t);
   //计数  
   a[t]++;
 }
 //从大到小输出
 for(i = 10;i>=0;i--)
 {
   for(j=1;j<=a[i];j++)
     printf("%d",i);
 }
 getchar();getchar();
 //getchar()用来暂停程序,以便查看程序输出的内容
 //也可以用system("pause");来代替
 return 0;
}
问题2:对0-1000的整数进行排序 
#include<stdio.h>
int main()
{
 int book[1001],t;
 //初始化桶数组
 for(i=0;i<=1000;i++)
 {
   book[i] = 0;
 }
 //输入一个数n,表示接下来有n个数
 scanf("%d",&n);
 for(i = 1;i<=n;i++)
 {
   //把每一个数读到变量中去
   scanf("%d",&t);
   //计数  
   book[t]++;
 }
 //从大到小输出
 for(i = 1000;i>=0;i--)
 {
   for(j=1;j<=book[i];j++)
     printf("%d",i);
 }
 getchar();getchar();
 return 0;
}(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! | 
