Pagini recente » Cod sursa (job #1906720) | Cod sursa (job #183851) | Cod sursa (job #3274037) | Cod sursa (job #2673367) | Cod sursa (job #742034)
Cod sursa(job #742034)
#include<fstream>
#include<ctime>
#include<cstdlib>
using namespace std;
int n,v[500005],x[500005],c[257],ind[257];
ifstream fin("algsort.in");
ofstream fout("algsort.out");
void citire()
{
fin>>n;
for( int i=0; i<n; i++)
fin>>v[i];
}
void afisare()
{
for(int i=0; i<n; i++)
fout<<v[i]<<" ";
fout<<"\n";
}
void radix(int a[], int b[], int byte)
{
int i,lm=255;
for(i=0;i<n;++i)
c[(a[i]>>byte)&lm]++;
for(i=0;i<256;++i)
ind[i]=ind[i-1]+c[i-1];
for(i=0;i<n;++i)
b[ind[(a[i]>>byte)&lm]++]=a[i];
}
int main()
{
citire();
radix(v,x,0);
radix(x,v,8);
radix(v,x,16);
radix(x,v,24);
afisare();
}