Cod sursa(job #240085)

Utilizator toni2007Pripoae Teodor Anton toni2007 Data 6 ianuarie 2009 20:13:54
Problema Sortare prin comparare Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.83 kb
/*

Quick Sort implementat de mana


*/

#include <stdio.h>
#define N 1000001
int v[N];
void quicksort(int left,int right){
     int a, t, i, j;
     if (right>left){
        a=v[right];
        i=left-1;
        j=right;
        while (i<j){
              while (v[i]<a)
                    ++i;
              while (v[j]>a)
                    ++j;
              t=v[i];
              v[i]=v[j];
              v[j]=t;
        }
        v[j]=v[i];
        v[i]=v[right];
        v[right]=t;
        quicksort(left, i-1);
        quicksort(i+1, right);
     }
}
int main(){
    int i,n;
    freopen("algsort.in","r",stdin);
    freopen("algsort.out","w",stdout);
    scanf("%d",&n);
    for (i=1;i<=n;++i)
       scanf("%d",&v[i]);
    quicksort(2,n);
    for (i=1;i<=n;++i)
       printf("%d ",v[i]);
    return 0;
}