Pagini recente » Cod sursa (job #1060107) | Cod sursa (job #108205) | Cod sursa (job #350519) | Cod sursa (job #2625000) | Cod sursa (job #1320578)
#include <cstdio>
using namespace std;
unsigned long int v[500001],m[10][500001],n,z=1;
int maxl;
int main()
{
unsigned int i,j,q,k,u,x;
freopen("algsort.in", "r", stdin);
freopen("algsort.out", "w", stdout);
scanf("%u", &n);
for(i=1;i<=n;i++)
{
scanf("%u", &v[i]);
while(z<=v[i])
{
z*=10;
maxl++;
}
}
z=1;
for(i=1;i<=maxl;i++)
{
for(j=0;j<10;j++)
m[j][0]=0;
for(j=1;j<=n;j++)
{
x=v[j]/z%10;
m[x][0]++;
m[x][m[x][0]] = v[j];
}
z*=10;
q=0;
for(k=0;k<10;k++)
for(u=1;u<=m[k][0];u++)
{
q++;
v[q]=m[k][u];
}
}
for(i=1;i<=n;i++)
printf("%u ", v[i]);
return 0;
}