#include <iostream> #include <bits/stdc++.h> using namespace std; /* 桶排序思想: 把每個陣列開闢的空間看作一個桶, 將與桶編號相同的資料存入桶中 1 3 5 7 9 8 6 4 2 10 資料b[] 開闢桶的個數大於資料最大值 第一步:桶內初始化為0 第二步:判斷資料存入桶中 a[11] a[0]...a[10] if(i==b[j]) a[i]++; 第三步輸出: if(a[i]!=0){ i a[i]--; } */ int main(){ int a[10]={1,2,3,4,5,6,7,8,9,10}; int b[1000]; memset(b,0,sizeof(b));//陣列全部初始化為0 /* for(int i=0;i<1000;i++){ b[i]=0; } */ for(int i=0;i<10;i++){ b[a[i]]++; } for(int i=0;i<1000;i++){ while(b[i]!=0){ cout<<i<<" "; b[i]--; } } return 0; }