Cod sursa(job #384897)

Utilizator lorandCsorba Lorand-Alexandru lorand Data 21 ianuarie 2010 18:32:46
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
using namespace std;
#include<fstream>
short n,*a;
void quick(int,int);
int main()
{
    int i;
    ifstream fin("algsort.in");
    fin>>n;
    a=new int[n+1];
    for(i=1;i<=n;++i)
       fin>>a[i];
    fin.close();
    quick(1,n);
    ofstream fout("algsort.out");
    for(i=1;i<=n;++i)
       fout<<a[i]<<' ';
    fout.close();
    return 0;
}
void quick(short s,short d)
{
     if(s<d)
     {
            int i=s,j=d,dd=0,aux;
            while(i<j)
            {
                      if(a[i]>a[j])
                      {
                                   aux=a[i];
                                   a[i]=a[j];
                                   a[j]=aux;
                                   dd=1-dd;
                      }
                      i+=dd;
                      j-=1-dd;
            }
            quick(s,i-1);
            quick(i+1,d);
     }
}