根据map数组下标可以是long long或者是string以及它以键值排序的特性,可以利用它实现一个高级桶排序
#include<bits/stdc++.h>
using namespace std;
map<long long,int>m;
long long ton[10000],top;
int main() {
int n,a;
cin>>n;
for(int i=1; i<=n; i++) {
cin>>a;
m[a]++;//计a存在的数量
}
map<long long,int>::iterator it;
for(it=m.begin(); it!=m.end(); it++) {
while(it->second) {
//有多个it->first
ton[++top]=it->first;
it->second--;
}
}
for(int i=1; i<=top; i++)cout<<ton[i]<<" ";
return 0;
}