Pagini recente » Cod sursa (job #1274025) | Profil laurvleju | Cod sursa (job #1682945) | Cod sursa (job #1793949) | Cod sursa (job #750918)
Cod sursa(job #750918)
#include<cstdio>
#include<deque>
#define pb push_back
using namespace std;
deque<int> b[101];
int a[1000541],i,n,mx,p;
void radix(int p)
{
int nr,i,j;
if (p>mx)
return;
else
{
for (i=1;i<=n;i++)
{
b[a[i]/p%10].pb(a[i]);
}
nr=0;
for (i=0;i<=9;i++)
{
for (j=0;j<b[i].size();j++)
{
nr++;
a[nr]=b[i][j];
}
}
for (i=0;i<10;i++)
b[i].clear();
}
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d",&n);
mx=0;
for (i=1;i<=n;i++)
{
scanf("%d",&a[i]);
if (a[i]>mx)
mx=a[i];
}
p=1;
for (p=1;p<=mx;p*=10)
{
radix(p);
}
for (i=1;i<=n;i++)
{
printf("%d ",a[i]);
}
}