Cod sursa(job #2279542)

Utilizator Manolache_MihaiManolache Mihai Manolache_Mihai Data 9 noiembrie 2018 17:52:32
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>

using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int v[500001];
int n,i;
void QuickSort(int st, int dr)
{
    int aux,mij,minn,maxx;
    mij=v[(st+dr)/2];
    minn=st;
    maxx=dr;
    do
    {
        while(v[minn]<mij)
            minn++;
        while(v[maxx]>mij)
            maxx--;
        if(minn<=maxx)
        {
            aux=v[minn];
            v[minn]=v[maxx];
            v[maxx]=aux;
            minn++;
            maxx--;
        }
    }while(minn<=maxx);
    if(st<maxx)
    QuickSort(st,maxx);
    if(minn<dr)
    QuickSort(minn,dr);
}
int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>v[i];
    }
    QuickSort(1,n);
    for(i=1;i<=n;i++)
        fout<<v[i]<<' ';
    return 0;
}