Cod sursa(job #2611418)

Utilizator BourucLiviuBouruc Petru Liviu BourucLiviu Data 6 mai 2020 20:33:31
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>

using namespace std;

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

int v[500005];

void quick_sort(int st, int dr)
{
    int i = st, j = dr;
    int x = v[rand()% (dr-st+1) + st];
    while(i < j)
    {
        while(v[i] < x) i++;
        while(v[j] > x) j--;
        if(i <= j) swap(v[i++], v[j--]);
    }
    if(j > st) quick_sort(st, j);
    if(i < dr) quick_sort(i, dr);
}

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