Cod sursa(job #908123)

Utilizator bratiefanutBratie Fanut bratiefanut Data 8 martie 2013 19:17:02
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>

using namespace std;

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

int a[500000],n,k;

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

void quick(int st, int dr)
{
    if(st<dr)
    {
        poz(st,dr,k,a);
        quick(st,k-1);
        quick(k+1,dr);
    }
}

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

    quick(1,n);

    for(i=1;i<=n;i++)
    g<<a[i]<<' ';

    return 0;
}