Cod sursa(job #288162)

Utilizator iulia609fara nume iulia609 Data 25 martie 2009 16:43:21
Problema Sortare prin comparare Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include<fstream>
#include<iostream>
#define dim 500000
using namespace std;
long long a[dim];
unsigned long n;
void qsort(unsigned long inc, unsigned long sf)
    {unsigned long i,j;
	 long long temp,aux;
	 i=inc;
	 j=sf;
	 temp=a[(i+j)/2];
	 do
		 {while(a[i]<temp) i++;
	      while(a[j]>temp) j--;
		  if(i<j) aux=a[i],a[i]=a[j],a[j]=aux;
		  if(i<=j) j=j-1,i+=1;
		 } while(i<=j); 
     if(inc<j) qsort(inc,j);
	 if(i<sf) qsort(i,sf);	 
	}
 		 
 int main()
    {unsigned long i;
	 ifstream f("algsort.in");
	 ofstream g("algsort.out");
	 f>>n;
	 for(i=1;i<=n;i++)
	    f>>a[i];
	 f.close();
	 
	 qsort(1,n);
	 for(i=1;i<=n;i++)
	    g<<a[i]<<" "; 
	 g<<'\n';
	 g.close();
	 return 0;
	}