Cod sursa(job #333762)

Utilizator MKLOLDragos Ristache MKLOL Data 23 iulie 2009 19:40:27
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<stdio.h>
int v[500010],n;
void qusort (int st,int dr)
{
    int i=st,j=dr,piv=v[(st+dr)/2],aux;
    do
    {
        while (v[i]<piv)
            ++i;
        while (v[j]>piv)
            --j;
        if (i<=j)
        {
            aux=v[i];
            v[i]=v[j];
            v[j]=aux;
            ++i;
            --j;
        }
    }
    while (i<=j);
    if (st<j)
        qusort(st,j);
    if (i<dr)
        qusort(i,dr);

}
int main()
{   freopen("algsort.in","r",stdin);
    freopen("algsort.out","w",stdout);
    scanf("%d",&n);
    for(int i=1;i<=n;++i)
    scanf("%d",&v[i]);
    qusort(1,n);
    for(int i=1;i<=n;++i)
    printf("%d ",v[i]);
    return 0;
}