桶排序的简单实现
- 2020 年 10 月 11 日
- 筆記
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),不失为一种较为快速的排序方法