Cod sursa(job #393077)

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

int a[500001];

inline int partition(int li,int ls)
{
int 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(int li,int ls)
{
int poz;
if(li<ls){
	 poz=partition(li,ls);
	 quicksort(li,poz-1);
	 quicksort(poz+1,ls);
	 }
}

int main()
{
int 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;
}