Cod sursa(job #900068)

Utilizator alexsuciuAlex Suciu alexsuciu Data 28 februarie 2013 17:31:27
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include<iostream>
#include<fstream>
#define nr 500000
using namespace std;
long long a[nr];
long i,j,k,n;

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

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

int main()
{
    ifstream f("algsort.in");
    ofstream g("algsort.out");
    f>>n;
    for(i=1;i<=n;i++)
        f>>a[i];
        quick(1,n);
        for(i=1;i<=n;i++)
            g<<a[i]<<" ";


}