Pagini recente » Cod sursa (job #728494) | Cod sursa (job #326272) | Cod sursa (job #759113) | Cod sursa (job #2622387) | Cod sursa (job #655000)
Cod sursa(job #655000)
#include<fstream.h>
#include<iostream.h>
#include<stdio.h>
long n,i,v[500001];
long split(long ls,long ld)
{long p,q,t;
p=ls+1;
q=ld;
i=v[ls];
while(q>=p)
{while(v[p]<i)
p++;
while(v[q]>i)
q--;
if(q>p)
{t=v[p];
v[p]=v[q];
v[q]=t;}}
t=v[ls];
v[ls]=v[q];
v[q]=t;
return q;}
void quicksort(long ls,long ld)
{long pivot=n/2;
if(ld>ls)
{pivot=split(ls,ld);
quicksort(ls,pivot-1);
quicksort(pivot+1,ld);}}
int main()
{ifstream f("algsort.in");
ofstream g("algsort.out");
f>>n;
for(i=0;i<n;i++)
{f>>v[i];}
f.close();
quicksort(0,n-1);
for(i=0;i<n;i++)
{g<<v[i]<<" ";}
g.close();}