Cod sursa(job #1877525)

Utilizator BeatriceBBeatrice Roxana BeatriceB Data 13 februarie 2017 14:47:36
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
void quick_sort(int L, int R, long *x)
{
    if(L==R)
         return;
    int pivot=x[L+(R-L)/2];
    int ST=L, DR=R;
    do
    {
        while(x[ST]<pivot) ST++;
        while(x[DR]>pivot) DR--;
        if(ST<=DR)
        {
            swap(x[ST],x[DR]);
            ST++;
            DR--;
        }
    }while(ST<=DR);
    if(L<DR) quick_sort(L,DR,x);
    if(ST<R) quick_sort(ST,R,x);
}
int main()
{
    long v[500005],N;
    f>>N;
    for(long i=0; i<N; i++)
        f>>v[i];
    quick_sort(0,N-1,v);
    for(long i=0; i<N; i++)
        g<<v[i]<<" ";
    f.close();
    g.close();
    return 0;
}