Pagini recente » Rezultatele filtrării | Cod sursa (job #1511575)
#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]<<" ";
}