Cod sursa(job #393068)

Utilizator preda_alexandruPreda Alexandru preda_alexandru Data 8 februarie 2010 20:34:53
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<fstream.h>
#include<iostream.h>

long long a[500001];

long partition(long li,long ls)
{
long i,j,aux;
i=li;
for(j=li;j<ls;j++)
   if(a[j]<a[ls]){
		 aux=a[i];
		 a[i]=a[j];
		 a[j]=aux;
		 i++;
		 }
aux=a[i];
a[i]=a[ls];
a[ls]=aux;
return i;
}

void quicksort(long li,long ls)
{
long poz;
if(li<ls){
	 poz=partition(li,ls);
	 quicksort(li,poz-1);
	 quicksort(poz+1,ls);
	 }
}

int main()
{
long i,n;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
fin>>n;
for(i=1;i<=n;i++)fin>>a[i];
quicksort(1,n);
for(i=1;i<=n;i++)fout<<a[i]<<" ";
return 0;
}