Cod sursa(job #1934718)

Utilizator AndreiMaximIonutMaxim Andrei AndreiMaximIonut Data 21 martie 2017 19:08:05
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>

using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int N;
int v[500001];
void Qsort(int li,int ls)
{
    int st,dr,x;
    st=li;
    dr=ls;
    x=v[(li+ls)/2];
    while(st<dr)
    {
        while(v[st]<x) st++;
        while(v[dr]>x) dr--;
        if(st<=dr)
        {
            swap(v[st],v[dr]);
            st++;
            dr--;
        }
    }

    if(st<ls) Qsort(st,ls);
    if(dr>li) Qsort(li,dr);
}

int main()
{
    int i;
    fin>>N;
    for(i=1; i<=N; ++i) fin>>v[i];
    Qsort(1,N);
    for(i=1; i<=N; ++i)
        fout<<v[i]<<' ';
    return 0;
}