Cod sursa(job #2181571)

Utilizator Radiance322Chirilov Radu Radiance322 Data 21 martie 2018 19:02:01
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");

int a[500000],n;

void read(){
    in >> n;
    for(int i=0;i<n;i++)
        in >> a[i];
}

void quick(int inf, int sup) {
  int x, i, j, t;
  i = inf;
  j = sup;
  x = a[(i + j) / 2];
  do {
    while ( (i < sup) && (a[i] < x) ) i++;
    while ( (j > inf) && (a[j] > x) ) j--;
    if ( i <= j ) {
      t = a[i];
      a[i] = a[j];
      a[j] = t;
      i++;
      j--;
    }
  } while ( i <= j );
  if ( inf < j ) quick(inf, j);
  if ( i < sup ) quick(i, sup);
}

void draw(){
    for(int i=0;i<n;i++)
        out << a[i] << ' ';
}

int main()
{
    read();
    quick(0,n-1);
    draw();
    return 0;
}