Cod sursa(job #1239359)

Utilizator razboi4Manole Iulian razboi4 Data 8 octombrie 2014 22:34:06
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<stdio.h>
using namespace std;
int v[500005];
void quicksort(int st, int dr)
{
    int i=st,j=dr;
    int mij=(st+dr)/2,pivot=v[mij];
    while(i<=j){
        while(v[i]<pivot) i++;
        while(v[j]>pivot) j--;
        if(i<=j){
            int aux=v[i];v[i]=v[j];v[j]=aux;
            ++i;--j;
        }
    }
    if(i<dr) quicksort(i,dr);
    if(j>st) quicksort(st,j);
}
int main()
{
    int N;
    freopen("algsort.in","r",stdin);
    freopen("algsort.out","w",stdout);
    scanf("%d",&N);
    for(int i=1;i<=N;++i)
        scanf("%d",&v[i]);
    quicksort(1,N);
    for(int i=1;i<=N;++i)
        printf("%d ",v[i]);
    fclose(stdin);fclose(stdout);
    return 0;
}