Cod sursa(job #1819837)

Utilizator GeoeyMexicanuBadita George GeoeyMexicanu Data 30 noiembrie 2016 21:21:31
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>
#define NMAX 500005
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
long a[NMAX];
int n,pos=0;
void quick(int s,int d)
{
    if(s<d)
    {
        int i=s,j=d;
        long x=a[(s+d)/2];
        while(i<=j)
        {
            while(a[i]<x)
                i++;
            while(a[j]>x)
                j--;
            if(i<=j)
            {
                swap(a[i],a[j]);
                i++;
                j--;
            }
        }
        if(i<d)
            quick(i,d);
        if(j>s)
            quick(s,j);
    }
}
int main()
{
    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;
}