Cod sursa(job #1883705)

Utilizator anamaria41Raicu Ana anamaria41 Data 18 februarie 2017 10:17:10
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>

using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");

int n,i,a[500050];

int part( int st , int dr )
{
    int i,j,p;
    j=st-1; p=a[dr];

    for(i=st;i<=dr;i++)
        if(a[i]<=p)swap(a[++j],a[i]);

    return j;
}

void Qsort ( int st, int dr )
{
    int poz;
    poz=part(st,dr);
    if(st<poz-1) Qsort(st,poz-1);
    if(poz+1<dr) Qsort(poz+1,dr);

}
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
        f>>a[i];
    Qsort(1,n);
    for(i=1;i<=n;i++)
        g<<a[i]<<" ";
    return 0;
}