Cod sursa(job #276135)

Utilizator zerobaratalexandra zerobarat Data 10 martie 2009 21:35:25
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<fstream.h>
ifstream fin("algsort.in");
ofstream fout("algsort.out");

#define max 500007
int a[max],n;

int poz(int ld,int ls)
{int i=ld,j=ls,ii=0,jj=-1,aux;

 while(i<j)
   {if(a[i]>a[j])
      {aux=a[i];
      a[i]=a[j];
      a[j]=aux;
      aux=ii;
      ii=-jj;
      jj=-aux;
      }
     i+=ii;
     j+=jj;
    }
  return i;

  }

void quick(int ld,int ls)
{int k;
if(ld<ls)
{  k=poz(ld,ls);
  quick(ld,k-1);
  quick(k+1,ls);
 }
}
int main()
{ int i;
fin>>n;
for(i=1;i<=n;i++)fin>>a[i];

quick(1,n);

for(i=1;i<=n;i++)fout<<a[i]<<" ";

fin.close();
fout.close();
return 0;
}