Pagini recente » Cod sursa (job #1531105) | Cod sursa (job #131179) | Cod sursa (job #1409636) | Cod sursa (job #495944) | Cod sursa (job #2079561)
#include<fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int n,v[500005],a[500005];
void sortare(int x)
{
int i,poz[10]={0};
for(i=1;i<=n;++i)
++poz[(v[i]/x)%10];
for(i=1;i<10;++i)
poz[i]+=poz[i-1];
for(i=n;i>=1;--i)
{
a[poz[(v[i]/x)%10]]=v[i];
--poz[(v[i]/x)%10];
}
for(i=1;i<=n;i++)
v[i]=a[i];
}
int main()
{
int i,maxx,x;
f>>n;
for(i=1;i<=n;++i){
f>>v[i];
if(i==1)maxx=v[i];
else if(v[i]>maxx)maxx=v[i];
}
for(x=1;maxx/x>0;x*=10)
sortare(x);
for(i=1;i<=n;i++)
g<<v[i]<<" ";
return 0;
}