Cod sursa(job #272203)

Utilizator sigridMaria Stanciu sigrid Data 6 martie 2009 16:26:42
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<fstream.h>
#define dim 500001
int a[dim],n,k;
void poz(int li, int ls, int &k)
{int i=li,j=ls,c,i1=0,j1=-1;

while(i<j)
 {
  if(a[i]>a[j])
    {c=a[j];
     a[j]=a[i];
     a[i]=c;
     c=i1;
     i1=-j1;
     j1=-c;
    }
  i=i+i1;
  j=j+j1;
 }
 k=i;
}

void quick(int li, int ls)
{
if(li<ls)
  {poz(li,ls,k);
   quick(li,k-1);
   quick(k+1,ls);
  }
}

int main()
{

ifstream f("algsort.in");
ofstream g("algsort.out");

int i;

f>>n;
for(i=1;i<=n;i++)
 f>>a[i];

quick(1,n);

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

g<<'\n';
f.close();
g.close();

return 0;
}