Cod sursa(job #2006320)

Utilizator VarticeanNicolae Varticean Varticean Data 29 iulie 2017 14:27:23
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
int a[500009],n;
void qsort(int st, int dr)
{
    int i=st,j=dr,x=a[st+(dr-st)/2];
    while (i<=j)
    {
        while ( a[i]<x ) i++;
        while ( a[j]>x ) j--;
        if (i<=j)
        {
            swap(a[i],a[j]);
            i++; j--;
        }
    }
    if ( i<dr ) qsort(i,dr);
    if( st<j ) qsort(st,j);
}
int main()
{
    in>>n;
    for(int i=1; i<=n; i++ )
        in>>a[i];
    qsort(1,n);
    for(int i=1; i<=n; i++)
    out<<a[i]<<' ';


    return 0;
}