Pagini recente » Cod sursa (job #1156420) | Cod sursa (job #901413) | Cod sursa (job #3225533) | Cod sursa (job #2900629) | Cod sursa (job #726368)
Cod sursa(job #726368)
#include<cstdio>
using namespace std;
int i, z, n, a[100001], b[100001], v[10];
bool ok;
int main(){
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d", &n); z=1;
for (i=1;i<=n;i++) scanf("%d", &a[i]); ok=true;
while (ok==true) { ok=false;
for (i=0;i<=9;i++) v[i]=0;
for (i=1;i<=n;i++) {
v[a[i]/z%10]++;
if (i/z%10!=0) ok=true;
}
for (i=1;i<=9;i++) v[i]+=v[i-1];
for (i=1;i<=n;i++) {
b[v[a[i]/z%10-1]+1]=a[i];
v[a[i]/z%10-1]++;
}
for (i=1;i<=n;i++) a[i]=b[i];
z=z*10;
}
for (i=1;i<=n;i++)
printf("%d ", a[i]);
return 0;
}