Cod sursa(job #378085)

Utilizator idomiralinIdomir Alin idomiralin Data 27 decembrie 2009 15:13:55
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include<stdlib.h>
#include<cstdio>

using namespace std;

int k,i,j,a[500001];
void poz(int li,int ls,int &k,int a[100])
{int c,i1,j1;
    i=li;j=ls;i1=0;j1=-1;
    while (i<j)
    {
          if (a[i]>=a[j])
          {
             c=a[i];a[i]=a[j];a[j]=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,a);
     quick(li,k-1);
     quick(k+1,ls);
     }
   }
   
int main()
{int n;
    freopen("algsort.in","r",stdin);
    freopen("algsort.out","w",stdout);
    
    scanf("%d",&n);
    for (i=1;i<=n;i++)
    scanf("%d",&a[i]);
    
    quick(1,n);
    
    for (i=1;i<=n;i++)
    printf("%d ",a[i]);
    
return 0;
}