桶排序的簡單實現
- 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),不失為一種較為快速的排序方法