Cod sursa(job #2284456)

Utilizator severutBogdan Sever-Cristian severut Data 17 noiembrie 2018 11:05:24
Problema Sortare prin comparare Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream in("algsort.in");
ofstream out("algsort.out");

int n,a[500001];
int partitionare(int a[],int l,int r)
{
    int i=l;
    while(a[i]<=a[r]&&i<r)
        ++i;
    for(int c=i;c<r;++c)
        if(a[c]<=a[r])
        {
            swap(a[c],a[i]);
            ++i;
        }
    swap(a[i],a[r]);
    return i;
}
void quicksort(int a[],int l,int r)
{
    int p;
    if(r<l)
        return;
    p=partitionare(a,l,r);
    quicksort(a,l,p-1);
    quicksort(a,p+1,r);
}
int main()
{
    in>>n;
    for(int i=1;i<=n;++i)
        in>>a[i];
    quicksort(a,1,n);
    for(int i=1;i<=n;++i)
        out<<a[i]<<" ";
    return 0;
}