Pagini recente » Cod sursa (job #1829218) | Cod sursa (job #1650587) | Istoria paginii runda/proba123451 | Cod sursa (job #268098) | Cod sursa (job #655827)
Cod sursa(job #655827)
#include<fstream>
#include<iostream>
using namespace std;
long n,i,v[500002];
long split(long ls,long ld)
{long p,q;
p=ls+1;
q=ld;
i=v[ls];
while(q>=p)
{while(v[p]<i)
p++;
while(v[q]>i)
q--;
if(q>p)
swap(v[p],v[q]);}
swap(v[ls],v[q]);
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();}