Cod sursa(job #2943027)

Utilizator magicninjaJula Diana magicninja Data 20 noiembrie 2022 14:33:28
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
int v[500005];

void qsort(int st, int dr){
  int rnr = v[(st + dr) / 2], cst = st, cdr = dr, aux;
  while(v[cst] < rnr){
    cst++;
  }
  while(v[cdr] > rnr){
    cdr--;
  }
  while(cst < cdr){
    aux = v[cst];
    v[cst] = v[cdr];
    v[cdr] = aux;
    cst++;
    cdr--;
    while(v[cst] < rnr){
      cst++;
    }
    while(v[cdr] > rnr){
      cdr--;
    }
  }
  if(st < cdr){
    qsort(st, cdr);
  }
  if(dr > cdr + 1){
    qsort(cdr + 1, dr);
  }
}
int main()
{
    int n, i;
    in >> n;
    for(i = 1; i <= n; i++){
      in >> v[i];
    }
  //  qsort(1, n);
  sort(v + 1, v + n + 1);
    for(i = 1; i <= n; i++){
      out << v[i] << " ";
    }
    return 0;
}