特点:
- 稳定
- 是最快的排序算法,时间复杂度O(m+n)
- 耗空间,最大的数多大,桶就要多少个
#include <iostream>
using namespace std;
int main() {
int n;
cin>>n;
int nums[10];
for (int i = 0; i < n; i++) {
cin>>nums[i];
}
int bucket[1001]; //假设输入nums[i]数字范围为0~1000
for (int i = 0; i < 1001; i++) {
bucket[i] = 0; //初始化
}
for (int i = 0; i < n; i++) {
bucket[nums[i]]++;
}
for (int i = 0; i < 1001; i++) { //遍历所有的桶,从小到大输出
for (int j = 0; j < bucket[i]; j++) {//一个数出现几次就打印几次
cout<<i<<" ";
}
}
cout<<endl;
return 0;
}