Cod sursa(job #444077)

Utilizator nopiulianGavrila Iulian nopiulian Data 19 aprilie 2010 12:26:01
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Tema 10D #1 Marime 0.64 kb
#include<fstream.h>
 ifstream f("algsort.in");
 ofstream g("algsort.out");
    int n,i,v[500001];
    int qs(int in,int sf){
        int i=in,j=sf,m=v[(in+sf)/2],x;
        do{
            while(v[i]<m) ++i;
           while(v[j]>m) --j;
          if(i<=j){
              x=v[i];
               v[i]=v[j];
                v[j]=x;
               ++i;--j;
            }
        }while(i<=j);
       if(in<j) qs(in,j);
        if(i<sf) qs(i,sf);
    }
    int main(){
        f>>n;
       for(i=1;i<=n;++i) f>>v[i];
       qs(1,n);
       for(i=1;i<=n;++i) g<<v[i]<<' ';
        g<<'\n';
        g.close();
        return 0;
  }