Cod sursa(job #1244663)
| Utilizator | Data | 17 octombrie 2014 22:54:45 | |
|---|---|---|---|
| Problema | Sortare prin comparare | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.91 kb |
#include <fstream>
using namespace std;
void quicksort(int a[], int l, int r)
{
if(l<=r)
{
int i,j,aux,ii,jj;
i=l;
j=r;
ii=0;
jj=-1;
while(i<=j)
{
if(a[i]>a[j])
{
a[i]=a[i]^a[j]^(a[j]=a[i]);
if(ii==0)
{
ii=1;
jj=0;
}
else
{
ii=0;
jj=-1;
}
}
i+=ii;
j+=jj;
}
quicksort(a,l,i-1);
quicksort(a,i+1,r);
}
}
int main()
{
ifstream f("algsort.in");
ofstream g("algsort.out");
int n,i, a[500000];
f>>n;
for(i=0;i<n;i++)
f>>a[i];
quicksort(a,0,n-1);
for(i=0;i<n;i++)
g<<a[i]<<' ';
return 0;
}
