桶排序的简单实现
 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     //简化的桶排序 
 6     int a[101],i,j,num,t;
 7     for(i=0;i<=100;i++)
 8         a[i]=0;  //初始化为0 
 9     printf("输入数字个数:"); 
10     scanf("%d",&num);
11 
12     for(i=1;i<=num;i++)
13     {
14         scanf("%d",&t);//将数字赋给对应数组 
15         a[t]++;//数组中的元素代表数的个数 
16     }
17     for(i=0;i<=100;i++)
18         for(j=1;j<=a[i];j++)
19             printf("%d ",i);//出现了几次就将桶的编号打印几次 
20 
21     return 0;
22 }

将每一个数据与它的数组号对应,时间复杂度为O(m+n),不失为一种较为快速的排序方法

版权声明:本文为breeze-H原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/breeze-H/p/13797171.html