Cod sursa(job #2230196)

Utilizator RubinuNume Complet Rubinu Data 9 august 2018 13:48:41
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>
using namespace std;
ifstream cin("algsort.in");
ofstream cout ("algsort.out");
int a[500005],n;

int pivot (int i, int j)
{
    int i0=1,j0=0;
    while (i<j)
    {
        if (a[i]>a[j])
            swap(a[i],a[j]),swap(i0,j0);
        i+=i0,j-=j0;
    }
    return i;
}

void sortare(int st, int dr)
{
    if (st<dr)
    {
        int q=pivot(st,dr);
        sortare(st,q-1),sortare(q+1,dr);
    }
}

int main ()
{
    int i;
    cin>>n;
    for (i=1;i<=n;++i)
        cin>>a[i];
    sortare(1,n);
    for (i=1;i<=n;++i)
        cout<<a[i]<<' ';
    return 0;
}