Cod sursa(job #1880307)

Utilizator BAC_AndreiBejinariu Andrei Catalin BAC_Andrei Data 15 februarie 2017 17:49:05
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int n,i,x[500010];
void quick_sort(int,int);
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
        f>>x[i];
    quick_sort(1,n);
    for(i=1;i<=n;i++)
        g<<x[i]<<' ';
    return 0;
}
void quick_sort(int L,int R)
{
    int M=(L+R)/2,S=L,D=R;
    if(L>=R)
        return;
    M=x[(L+R)/2];
    do
    {
        while(x[S]<M)S++;
        while(x[D]>M)D--;
        if(S<D){swap(x[S],x[D]);S++;D--;}
    }
    while(S<D);
    quick_sort(L,D);
    quick_sort(S,R);
}