Cod sursa(job #662590)

Utilizator razielreaperMatei Andrei razielreaper Data 16 ianuarie 2012 20:26:55
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 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;
}