Cod sursa(job #280779)

Utilizator victor_bla_blaDumitrescu Victor victor_bla_bla Data 13 martie 2009 16:01:23
Problema Sortare prin comparare Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<fstream.h>
ifstream fin("algsort.in");
ofstream fout("algsort.out");
long a[500],n,i,j;
long poz(long x,long y)
{long i,j,x2;
  i=x; j=y; x2=a[x];
  while (i<j)
	{while (i<j&&a[j]>=x2) j--;
	 a[i]=a[j];
	 while (i<j&&a[i]<=x2) i++;
	 a[j]=a[i];}
  a[i]=x2;
  return i;}
void qsort(long x,long y)
{ long p=poz(x,y);
  if (p-1>x) qsort(x,p-1);
  if (p+1<y) qsort(p+1,y);}
int main()
	{fin>>n;
	 for (i=0;i<n;i++)
		fin>>a[i];
	 qsort(0,n-1);
	 for (i=0;i<n;i++)
		fout<<a[i]<<' ';
fout.close();
return 0;}