Pagini recente » Cod sursa (job #2748565) | Cod sursa (job #2584627) | Cod sursa (job #2827734) | Cod sursa (job #1502975) | Cod sursa (job #809466)
Cod sursa(job #809466)
#include <cstdio>
#include <algorithm>
using namespace std;
int freq[11];
int main (){
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
int p=10,n,f[500005],v[500005],maxi=0,i,j,e;
scanf("%d",&n);
for(i=1;i<=n;++i){
scanf("%d",&f[i]);
if(f[i]>maxi){
maxi=f[i];
}
}
for(p=1;maxi>0;maxi/=10,p*=10){
for(i=1;i<=n;++i){
++freq[(f[i]/p)%10];
}
for(i=0,e=0;i<=9;++i){
if(freq[i]!=0){
for(j=1;j<=n;++j){
if(i==(f[j]/p)%10){
v[++e]=f[j];
}
freq[i]=0;
}
}
}
for(i=1;i<=n;++i){
swap(f[i],v[i]);
}
}
for(i=1;i<=n;++i){
printf("%d ",f[i]);
}
}