Cod sursa(job #2085777)

Utilizator codrin18Diac Eugen Codrin codrin18 Data 10 decembrie 2017 18:19:47
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>
#define nrMax 300005
using namespace std;
long long Split (long long x[], long long St, long long Dr)
{
    long long i=St, j=Dr, v=x[i];
    while (i<j)                                     {
           while (i<j && x[j]>=v) j--;  x[i]=x[j];
           while (i<j && x[i]<=v) i++;  x[j]=x[i];  }
    x[i]=v;
    return i;
}

void Qck_Sort(long long* x, long long dr, long long st=1)
{
     if (st<dr) {
         int p=Split(x,st,dr);
         Qck_Sort(x,p-1,st);
         Qck_Sort(x,dr,p+1);
}    }
int main()
{

    ifstream f("algsort.in");
    ofstream g("algsort.out");
    long long n,v[nrMax];
    f>>n;
    for (int i=1;i<=n;i++)
        f>>v[i];
    Qck_Sort(v,n);
    for (int i=1;i<=n;i++)
        g<<v[i]<<" ";
    return 0;
}