Cod sursa(job #2082878)

Utilizator karenalo13Diaconu Iulian Andrei karenalo13 Data 6 decembrie 2017 21:12:29
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>

using namespace std;

int x[500002],n,i;
int impartire(int st,int dr)
{
    int aux,i,j,di,dj;
    di=0;
    dj=1;
    i=st;
    j=dr;
    while(i<j)
    {
        if (x[i]>x[j])
        {
            aux=x[i];
            x[i]=x[j];
            x[j]=aux;
            aux=di;
            di=dj;
            dj=aux;
        }
        i=i+di;
        j=j-dj;
    }
    return j;
}
void quick(int st,int dr)
{
    int p;
    if (st<dr)
    {
        p=impartire(st,dr);
        quick(st,p-1);
        quick(p+1,dr);
    }
}//rezolvarea seamana cu cea de la quicksort , pagina 6/127 , putin schimbata (putin putin :) )
int main()
{
    cin>>n;
    for (i=1; i<=n; i++)cin>>x[i];
    quick(1,n);
    for (i=1; i<=n; i++)cout<<x[i]<<" ";
}