Cod sursa(job #2002999)

Utilizator dumitrescu_andreiDumitrescu Andrei dumitrescu_andrei Data 21 iulie 2017 13:49:00
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;

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

int n,a[500005];
int k;

void poz(int li, int ls, int &k)
{
    int i=li,j=ls,c,i1=0,j1=-1;
    while(i<j)
    {
        if(a[i]>a[j])
        {
            swap(a[i],a[j]);
            c=i1;
            i1=-j1;
            j1=-c;
        }
        i=i+i1;
        j=j+j1;
    }
    k=i;
}

void quick(int li,int ls)
{
    if(li<ls)
    {
        poz(li,ls,k);
        quick(li,k-1);
        quick(k+1,ls);
    }
}

int main()
{
    f>>n;
    for(int i=1;i<=n;++i)
        f>>a[i];

    quick(1,n);

    for(int i=1;i<=n;++i)
        g<<a[i]<<" ";
}