Cod sursa(job #1070765)

Utilizator IonMosnoiIon Mosnoi IonMosnoi Data 1 ianuarie 2014 22:03:40
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<fstream>
#include<algorithm>
const unsigned maxn = 500100;
using namespace std;
   unsigned  n;
  unsigned  a[maxn];

void algsort1(unsigned l,unsigned r){
	unsigned i=l,j=r;
	unsigned  mij = a[(l+r)/2];
	do{
		while(a[i]<mij)i++;
		while(mij<a[j])j--;
		if (i<=j){
		    swap(a[i],a[j]);	
			i++;
			j--;
		}		
	}while(i<=j);
	if(l<j)algsort1(l,j);
    if(i<r)algsort1(i,r);
}

main(){
  ifstream fin("algsort.in");
  ofstream fout("algsort.out"); 

   fin>>n;
  for(int i=1;i<=n;i++)fin>>a[i];
  
  algsort1(1,n);
  for(int i=1;i<=n;i++)fout<<a[i]<<" ";
  
 
  fin.close(); fout.close();  
}