Cod sursa(job #690516)

Utilizator GrimpowRadu Andrei Grimpow Data 25 februarie 2012 18:11:37
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<fstream>
using namespace std;
int a[500001],n;

ifstream f("algsort.in");
ofstream g("algsort.out");

void quicksort(int a[500001],int l,int r)
{if(l==r)
   return;

int aux, min=l, max=r, mid=a[l+(r-l)/2];

    while(min<=max)
{while(a[min]<mid)
   min++;
 while(a[max]>mid)
   max--;
 if(min<=max)
  { aux=a[min];
    a[min]=a[max];
    a[max]=aux;
    min++;
    max--;}
   }
 if(l<max)
  quicksort(a,l,max);
 if(min<r)
  quicksort(a,min,r);
}

int main()
{int i;
f>>n;
for(i=1;i<=n;i++)
 f>>a[i];
 quicksort(a,1,n);
for(i=1;i<=n;i++)
g<<a[i]<<" ";
f.close();
g.close();
return 0;
}