Cod sursa(job #655827)

Utilizator caramete_tCaramete Tiberiu caramete_t Data 3 ianuarie 2012 15:21:08
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#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();}