Cod sursa(job #260434)

Utilizator nicolaetitus12Nicolae Titus nicolaetitus12 Data 17 februarie 2009 01:45:15
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <cstdio>
#define N 500001
long a[N];
void sort(int left, int right)
{int l=left,r=right,e=a[left],aux;
 while(l<r)
 {while(a[l]<e)l++;
  while(a[r]>e)r--;
  if(l<=r)
  {aux=a[l];
   a[l]=a[r];
   a[r]=aux;
   l++;
   r--;
  }
 }
 if(r>left)
  sort(left,r);
 if(l<right)
  sort(l,right);
}

int main ()
{freopen("algsort.in","r",stdin);
 freopen("algsort.out","w",stdout);
 int n,i;
 scanf("%d",&n);
 for (i=0;i<n;i++)
 {scanf("%d",&a[i]);
 }
 sort(0,n-1);
 for (i=0;i<n;i++)
 {printf("%d ",a[i]);
 }
 return 0;
}