Cod sursa(job #276145)
Utilizator | alexandra zerobarat | Data | 10 martie 2009 21:46:12 |
---|---|---|---|
Problema | Sortare prin comparare | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include<fstream.h>
ifstream fin("algsort.in");
ofstream fout("algsort.out");
#define max 500022
void sortare(int ls,int ld)
{int i=ls,j=ld,aux=a[(i+j)/2],s;
do
{if(a[i]<aux)
++i;
if(a[j]>aux)
--j;
if(i<=j)
{ s=a[i];
a[i]=a[j];
a[j]=s;
++i;
--j;
}
}while(i<=j);
if(st<j)sortare(st,j);
if(i<dr)sortare(i,dr);
}
int main()
{long n,i
fin>>n;
for(i=1;i<=n;i++)fin>>a[i];
sortare(1,n);
for(i=1;i<=n;i++)fout<<a[i]<<" ";
fin.close();
fout.close();
return 0;
}