Pagini recente » Cod sursa (job #3337973) | Cod sursa (job #2772273) | Cod sursa (job #664329) | Cod sursa (job #1066754) | Cod sursa (job #3327713)
#include<bits/stdc++.h>
using namespace std;
#define MAXN 500000
#define MAXV (1<<31)
#define MAXB (1<<16)
#define MAXNB (1<<15)
#define BITS 15
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int v[MAXN];
vector<int>bucket[MAXB];
inline int getbucket(int val) {
return val>>BITS;
}
int main() {
int n,i,j,k;
fin>>n;
for(i=0; i<n; i++) {
fin>>v[i];
}
for (i=0; i<n; i++) {
bucket[getbucket(v[i])].push_back(v[i]);
}
k=0;
for(i=0; i<MAXB; i++) {
sort(bucket[i].begin(),bucket[i].end());
for(j=0; j<bucket[i].size(); j++) {
v[k++]=bucket[i][j];
}
}
for (i=0; i<n; i++) {
fout<<v[i]<<' ';
}
return 0;
}