Pagini recente » Cod sursa (job #2419108) | Cod sursa (job #2814803) | Cod sursa (job #1738268) | Cod sursa (job #2568470) | Cod sursa (job #3327721)
#include<vector>
#include<algorithm>
#include<fstream>
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;
}