Cod sursa(job #1511575)

Utilizator dutzulBodnariuc Dan Alexandru dutzul Data 26 octombrie 2015 21:40:34
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>
#include <iostream>

using namespace std;

#define LE 500666

void sort_radix(int st,int dr,int A[],int bit)
{
	if (st>=dr||bit<0) return;
	int pos=st-1;

	for(int i=st;i<=dr;++i)
		if ((A[i]&(1<<bit))==0)
	    	swap(A[++pos],A[i]);

	 sort_radix(st,pos,A,bit-1);
	 sort_radix(pos+1,dr,A,bit-1);
}


int a[LE];
ifstream f("algsort.in");
ofstream g("algsort.out");
int main()
{
    int n,i;
    f>>n;
    for(i=1;i<=n;++i) f>>a[i];
    sort_radix(1,n,a,30);
    for(i=1;i<=n;++i) g<<a[i]<<" ";
}