#include <iostream>
using namespace std;
int main(){
int a[10],res[100000];
for(int i=0;i<100000;i++){ //代表着可以排序100000以内的数据
res[i] = 0; //初始化res数组
}
for(i=0;i<10;i++){
cin>>a[i]; //输入代排序的数据
res[a[i]]++;
}
for(i=0;i<100000;i++){
for(int j=0;j<res[i];j++){
cout<<i<<" ";
}
}
return 0;
}
计数排序是桶排序用的最多的一个特殊例子
先遍历一次 找最大最小值 然后设置一个差值 分桶
然后依次按照桶的范围 再装进去
然后每个桶按归并或快排
最后按桶的顺序一次输出桶内元素
这就是朴素的 桶排序思想
一般用得多的是特殊情况 --计数排序
相当于极限的空间换时间