Cod sursa(job #407350)

Utilizator devill_08Buli.vlad devill_08 Data 2 martie 2010 11:34:03
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <stdio.h>

int a[500001],i,n;

void QuickSort (int st, int dr)
{
  int i,j,aux,x;
  i=st; j=dr; x=a[(st+dr)/2];
  while (i<=j)
	{
	  while (a[i]<x) i++;
	  while (x<a[j]) j--;
	  if (i<=j)
	  {
	    aux=a[i];
	    a[i]=a[j];
	    a[j]=aux;
	    i++; j--;
	   }
	 }
  if (st<j) QuickSort(st,j);
  if (i<dr) QuickSort(i,dr);
}

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