Pagini recente » Cod sursa (job #1307631) | Cod sursa (job #2094170) | Cod sursa (job #2737579) | Cod sursa (job #288006) | Cod sursa (job #750928)
Cod sursa(job #750928)
#include<cstdio>
#include<deque>
#define pb push_back
using namespace std;
int a[1000100],i,n,mx,p;
deque <int> b[102];
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]);
}
}