Cod sursa(job #468566)

Utilizator brainwashed20Alexandru Gherghe brainwashed20 Data 4 iulie 2010 00:58:41
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <stdio.h>

#define Nmax 500005

int n, v[Nmax];

void qsort(int st, int dr) {
     int i, j, val, aux;
     
	 i=st; j=dr; val=v[dr];
	 
	 while(i<=j) {
       while(i<=dr && v[i]<val) ++i;
       while(j>=st && v[j]>val) --j;
       if(i<=j) aux=v[i], v[i]=v[j], v[j]=aux, ++i, --j;
	 }
     
	 if(i<dr) 
		qsort(i,dr);
     if(j>st) 
		 qsort(st,j);
}

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]);
    
	qsort(1,n);
    
	for(int i=1; i<=n; ++i) 
		printf("%d ",v[i]);
    printf("\n");
	
	return 0;
}