Cod sursa(job #1017345)

Utilizator LaviniastarLaaaaaa Sttttttt Laviniastar Data 27 octombrie 2013 18:12:15
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int a[500001];
int i,n;
void sort(int &a,int &b)
{
    int aux;
    aux=a; a=b; b=aux;
}
void quiksort(int st,int dr)
{
    int i,j,m;
    m=a[(st+dr)/2];
    i=st; j=dr;
    while(i<j)
    {
        while(a[i]<m)
        i++;
        while(a[j]>m)
        j--;
        if(i<=j)
        {
            sort(a[i],a[j]);
            i++;
            j--;
        }
    }
    if(st<j)
    quiksort(st,j);
    if(i<dr)
    quiksort(i,dr);
}
int main()
{
    int i,a[500001];
    f>>n;
    for(i=1;i<=n;i++)
        f>>a[i];
    quiksort(i,n);
    for(i=1;i<=n;i++)
        g<<a[i]<<" ";
    f.close();
    g.close();
    return 0;
}