Cod sursa(job #1067464)

Utilizator IonMosnoiIon Mosnoi IonMosnoi Data 26 decembrie 2013 21:09:07
Problema Sortare prin comparare Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<fstream>
#include<algorithm>
const int maxn = 500000;
using namespace std;
   int  n;
  unsigned  a[maxn];

void algsort1(int l,int r){
	int 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();  
}