Pagini recente » Cod sursa (job #953935) | Cod sursa (job #595358) | Cod sursa (job #458272) | Cod sursa (job #2678002) | Cod sursa (job #811458)
Cod sursa(job #811458)
#include<iostream>
#include <cstring>
using namespace std;
int a[500009], b[500009];
int frecv[256];
int main() {
int i, n;
unsigned ff;
ifstream f("algsort.in");
ofstream g("algsort.out");
f >> n;
for(i = 0; i < n; ++i) {
f >> a[i];
}
for(ff = 0xFF; ff; ff <<= 8) {
for(i = 0; i < n; ++i) {
frecv[a[i] & ff]++;
}
for(i = 1; i < 256; ++i) {
frecv[i] += frecv[i - 1];
}
for(i = n - 1; i >= 0; --i) {
b[--frecv[a[i] & ff]] = a[i];
}
memcpy(a, b, sizeof(a));
}
for(i = 0; i < n; ++i) {
g << a[i] << ' ';
}
g << endl;
f.close();
g.close();
return 0;
}