Pagini recente » Cod sursa (job #662162) | Cod sursa (job #1248875) | Cod sursa (job #1793862) | Cod sursa (job #1501584) | Cod sursa (job #322984)
Cod sursa(job #322984)
#include <stdio.h>
#include <stdlib.h>
#define SMAX 500000
long v[SMAX], n, i, j, k, l, nr, cont;
long Q[10][SMAX];
long vf[10];
int main()
{
freopen("algsort.in", "r", stdin);
freopen("algsort.out", "w", stdout);
scanf("%ld", &n);
for(i = 0; i < n; ++i){
scanf("%ld", v+i);
}
for(i = 0; ; ++i){
for(j=0;j<10;++j)
vf[j] = 0;
cont = 0;
for(j=0;j<n;++j){
nr = v[j];
for(k=0;k<i && nr;++k)
nr /= 10;
if(nr)
cont = 1;
nr %= 10;
Q[nr][vf[nr]++] = v[j];
}
if(cont == 0)
break;
l = 0;
for(j=0;j<10;j++){
for(k=0;k<vf[j];++k)
v[l++] = Q[j][k];
}
}
for(i=0;i<n;++i)
printf("%ld ", v[i]);
return 0;
}