Cod sursa(job #931009)

Utilizator rares96cheseliRares Cheseli rares96cheseli Data 27 martie 2013 22:26:37
Problema Sortare prin comparare Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

using namespace std;

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

 void quicksort(long a[], long left, long right)
 {
  long i = left, j = right;
  long aux;
  long pivot=a[(left+right)/2];

  while (i<=j)
  {
      while (a[i]<pivot) i++;
      while (a[j]>pivot) j--;
      if (i<=j)
      {
           aux = a[i];
           a[i] = a[j];
           a[j] = aux;
           i++; j--;
      }
}
if (left<j) quicksort(a, left, j);
if (i<right) quicksort(a, i, right);
}

int main()
{
    long n,a[500000];
    f>>n;
    for (int i=1; i<=n; i++) f>>a[i];
    quicksort(a,1,n);
    for (int i=1; i<=n; i++) g<<a[i]<<' ';
    f.close(); g.close();
    return 0;
}