Pagini recente » Cod sursa (job #154820) | Cod sursa (job #851456) | Cod sursa (job #130855) | Cod sursa (job #1268945) | Cod sursa (job #743189)
Cod sursa(job #743189)
#include <cstdio>
#include <cstring>
#include <algorithm>
#define DN 500005
using namespace std;
int n,v[2][DN],cnt[12];
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d",&n);
for(int i=1; i<=n; ++i) scanf("%d",&v[0][i]);
for(int pc=1,pz=1; pc<11; ++pc,pz*=10) {
for(int j=0; j<=10; ++j) cnt[j]=0;
for(int i=1; i<=n; ++i) {
int cc=(v[(pc&1)^1][i]/pz)%10;
++cnt[cc+1];
}
for(int j=1; j<=11; ++j) cnt[j]+=cnt[j-1];
for(int i=1; i<=n; ++i) {
int cc=(v[(pc&1)^1][i]/pz)%10;
//cerr<<cc<<' ';
++cnt[cc];
v[pc&1][cnt[cc]]=v[(pc&1)^1][i];
}
//memcpy(v,vnou,(n+1)*sizeof(int));
//for(int i=1; i<=n; ++i) v[i]=vnou[i];
//copy(vnou+1,vnou+n+1,v+1);
}
for(int i=1; i<=n; ++i) printf("%d ",v[1][i]);
return 0;
}