Cod sursa(job #1154269)

Utilizator xnanobitYoyo Peter xnanobit Data 26 martie 2014 08:28:05
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include<fstream>
using namespace std;
int a[500005],n;
void citire()
{ifstream fin("algsort.in");
    fin>>n;
    for(int i=0;i<n;++i)
    fin>>a[i];
}
void afisare()
    {
        ofstream g("algsort.out");
       for(int i=0;i<n;++i)
        g<<a[i]<<' ';
    }

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

  /* partition */
  while (i <= j) {
        while (a[i] < pivot)
              i++;
        while (a[j] > pivot)
              j--;
        if (i <= j) {
              tmp = a[i];
              a[i] = a[j];
              a[j] = tmp;
              i++;
              j--;
    }
  }
  if (left < j)
    quickSort(left, j);
  if (i < right)
        quickSort(i, right);
}
    int main(){
    citire();
    quickSort(0,n-1);
    afisare();
    return 0;
    }