Cod sursa(job #2066112)

Utilizator aturcsaTurcsa Alexandru aturcsa Data 14 noiembrie 2017 18:22:02
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cstdlib>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int a[500005],n;
void qsort(int st,int dr)
{
    if(st>=dr)return;
    int pivot=(st+dr)/2;
    for(int i=st;i<=dr;i++)
    {
        if(a[pivot]<a[i]&&pivot>i)
            swap(a[pivot],a[i]),pivot=i;
        if(a[pivot]>a[i]&&pivot<i)
        {
            swap(a[pivot],a[i]),pivot++;
            swap(a[pivot],a[i]);
        }
    }
    qsort(pivot+1,dr);
    qsort(st,pivot);
}
int main()
{
    ///QUICKSORT
    fin>>n;
    for(int i=1;i<=n;i++)fin>>a[i];
    //qsort(1,n);
    sort(a+1,a+1+n);
    for(int i=1;i<=n;i++)fout<<a[i]<<" ";
    return 0;
}