Cod sursa(job #1452047)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 19 iunie 2015 16:49:48
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int n,i,a[500002];
void qsort(int s,int d)
{
    int m=a[(s+d)/2];
    int i=s,j=d;
    while (i<=j)
    {
        while(a[i]<m) ++i;
        while(a[j]>m) --j;
        if(i<=j)
        {
            swap (a[i],a[j]);
            ++i; --j;
        }
    }
    if(s<j) qsort(s,j);
    if(i<d) qsort(i,d);
}
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]<<" ";
    g.close();
    return 0;
}