Cod sursa(job #2369194)

Utilizator Bogdy_PPrunescu Bogdan Bogdy_P Data 5 martie 2019 21:39:05
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
int a[500010], n;
void qsort(int st, int dr)
{
    int i = st, j = dr, m = (i + j) / 2;
    int piv = a[m];
    while(i <= j)
    {
        while(a[i] < piv) i++;
        while(piv < a[j]) j--;
        if(i <= j)
        {
            swap(a[i], a[j]);
            i++;
            j--;
        }
    }
    if(i < dr) qsort(i, dr);
    if(st < j) qsort(st, j);
}
int main()
{
    in >> n;
    for(int i = 1;i <= n;i++)
        in >> a[i];
    qsort(1, n);
    for(int i = 1;i <= n;i++)
        out << a[i] << " ";
    return 0;
}