Cod sursa(job #2320404)

Utilizator sabinpocrisSabin P sabinpocris Data 14 ianuarie 2019 18:34:31
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>

using namespace std;

ifstream f("algsort.in");
ofstream g("algsort.out");

const int N = 500010;
int n,a[N];
void quickSort(int,int);
int main()
{
    f>>n;
    for(int i=1;i<=n;i++)
        f>>a[i];
    quickSort(1,n);
    for(int i=1;i<=n;i++)
        g<<a[i]<<' ';

    return 0;
}
void quickSort(int St,int Dr)
{
    int st=St,dr=Dr,mi,pivot;
    mi=(st+dr)/2;
    pivot=a[mi];
    do
    {
        while(a[st]<pivot)st++;
        while(a[dr]>pivot)dr--;
        if(st<=dr){swap(a[st],a[dr]);st++;dr--;}
    }
    while(st<=dr);
    if(St<=dr)quickSort(St,dr);
    if(st<=Dr)quickSort(st,Dr);
}