Cod sursa(job #2064537)

Utilizator calin9819Costea Calin calin9819 Data 12 noiembrie 2017 14:46:56
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int s[500001];

void qs(int st, int dr) {
  int x, i, j, t;
  i = st;
  j = dr;
  x = s[(i + j) / 2];
  do {
    while ( (i < dr) && (s[i] < x) ) i++;
    while ( (j > st) &&(s[j] > x) ) j--;
    if ( i<= j ) {
      t = s[i];
      s[i] = s[j];
      s[j] = t;
      i++;
      j--;
    }
  } while ( i <= j );
  if ( st < j ) qs(st, j);
  if ( i < dr ) qs(i, dr);
}

int main()
{
    int N;
    f >> N;
    for (int i = 1; i <= N; i++)
        f >> s[i];

    qs(1, N);
    for (int i = 1; i <= N; i++)
        g << s[i] << ' ';
    return 0;
}