Cod sursa(job #2200888)

Utilizator TudorCaloianCaloian Tudor-Ioan TudorCaloian Data 2 mai 2018 21:15:41
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>


using namespace std;

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

int i, j, n, m, a, b, c, st, dr, v[500005], nr;

int pivot(int s, int d)
{
    int x = v[s + rand() % (d-s)];
    s--, d++;
    while(1)
    {
        do{
            d--;

        }while(v[d]>x);

        do{
            s++;

        }while(v[s]<x);
        if(s< d)
            swap(v[s], v[d]);
        else
            return d;
    }

}
void quick(int s, int d)
{
    if(s<d)
    {
        int q = pivot(s,d);
        quick(s,q);
        quick(q+1,d);
    }
}
int main()
{
   fin >> n;
   for(int i = 1; i <= n; i++)
        fin >> v[i];
   quick(1, n);
   for(int i = 1; i <= n; i++)
    fout << v[i] << " ";
    return 0;
}