Cod sursa(job #739508)
Utilizator | Data | 23 aprilie 2012 12:01:18 | |
---|---|---|---|
Problema | Sortare prin comparare | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include<fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
long n,v[100];
void QuickSort(long s,long d,long v[])
{
long i=s,j=d,aux;
long pivot=v[(s+d)/2];
while(i<=j)
{
while(v[i]<pivot)
i++;
while(v[j]>pivot)
j--;
if(i<=j)
{
aux=v[i];
v[i]=v[j];
v[j]=aux;
i++;
j--;
}
}
if(s<j)
QuickSort(s,j,v);
if(i<d)
QuickSort(i,d,v);
}
int main()
{
f>>n;
for(long i=1;i<=n;i++)
f>>v[i];
QuickSort(1,n,v);
for(long i=1;i<=n;i++)
g<<v[i]<<' ';
return 0;
}