Cod sursa(job #927745)

Utilizator rares96cheseliRares Cheseli rares96cheseli Data 26 martie 2013 00:07:32
Problema Sortare prin comparare Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

 void quickSort(long arr[], long left, long right)
 {
  int i = left, j = right;
  int tmp;
  int pivot = arr[(left + right) / 2];

  while (i <= j) {
        while (arr[i] < pivot)
              i++;
        while (arr[j] > pivot)
              j--;
        if (i <= j) {
              tmp = arr[i];
              arr[i] = arr[j];
              arr[j] = tmp;
              i++;
              j--;
    }
}
/* recursion */
if (left < j)
    quickSort(arr, left, j);
if (i < right)
        quickSort(arr, 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;
}