Cod sursa(job #2295945)

Utilizator stan_flaviusStan Flavius Stefan stan_flavius Data 4 decembrie 2018 01:24:20
Problema Sortare prin comparare Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#define nmax 500001

using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");

int n,a[nmax];

int partitie(int st, int dr)
{ int pivot=a[dr];
  int i,j;
  i=st-1;
  for(j=st; j<=dr; j++)
      if(a[j]<pivot) {i++; swap(a[i],a[j]);}
  swap(a[i+1],a[dr]);
  return i+1;
}

void QuickSort(int st,int dr)
{ if(st<dr)
     { int pivot=partitie(st,dr);
       QuickSort(st,pivot-1);
       QuickSort(pivot+1,dr);
     }
}

int main()
{ fin>>n;
  int i;
  for(i=1; i<=n; i++) fin>>a[i];
  QuickSort(1,n);
  for(i=1; i<=n; i++) fout<<a[i]<<" ";
    return 0;
}