Cod sursa(job #742034)

Utilizator mihai96alexOprea Mihai Alexandru mihai96alex Data 27 aprilie 2012 22:28:26
Problema Sortare prin comparare Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#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();
}