Cod sursa(job #1310449)

Utilizator SorinmocanuFMI Sorin Mocanu Sorinmocanu Data 6 ianuarie 2015 21:03:19
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include<iostream>
#include<fstream>
using namespace std;
int a[500000],n,k;

void poz (int li,int ls,int &k,int a[500000])
{
     int i=li,j=ls,c,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=i+i1;
        j=j+j1;
     }
         k=i;
}

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

int main()
{
    ifstream f("algsort.in");
    ofstream g("algsort.out");
    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]<<" ";
    f.close();
    f.close();
    return 0;
}