Cod sursa(job #894377)

Utilizator tudy23Coder Coder tudy23 Data 26 februarie 2013 20:57:54
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <cstdio>
#include <algorithm>
using namespace std;
short int x[500001];
short int n;
void qs(int st, int dr)
{
    int min,max,mij;
    min=st;
    max=dr;
    mij=x[(st+dr)/2];
    do
    {
        while(x[min]<mij) min++;
        while(x[max]>mij) max--;
        if(min<=max)
            swap(x[min++],x[max--]);
    }while(min<=max);
    if(max>st)
        qs(st,max);
    if(min<dr)
        qs(min,dr);
}
void citire()
{
    freopen("algsort.in","r",stdin);
    scanf("%d",&n);
    for(int i=1;i<=n;++i)
        scanf("%d",&x[i]);
    qs(1,n);
    freopen("algsort.out","w",stdout);
    for(int i=1;i<=n;++i)
        printf("%d ",x[i]);
}
int main()
{
    return 0;
}