Cod sursa(job #743014)

Utilizator ion824Ion Ureche ion824 Data 2 mai 2012 20:22:54
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<fstream>
#define swap(a,b) a+=b,b=a-b,a-=b;
using namespace std;

int a[500001],n,k,a1,a2;

void quicksort(int lb, int ub){
    int i=lb,j=ub,pivot=a[(lb+ub)>>1];
    do{
      while(a[i]<pivot)++i;
      while(a[j]>pivot)--j;
      if(i<=j){
          k=a[i]; a[i]=a[j]; a[j]=k;           
          i++; j--;
      }
    }while(i<=j);
   if(j>lb)quicksort(lb,j);  
   if(ub>i)quicksort(i,ub);
}

int main(void){
    ifstream fin("algsort.in");
    ofstream fout("algsort.out");
    fin>>n;
    for(int i=1;i<=n;++i)fin>>a[i]; fin.close();
    quicksort(1,n);
    for(int i=1;i<=n;++i)fout<<a[i]<<" "; 
    fout.close();
 return 0;   
}