Pagini recente » Profil ZugravuMadalina | Statistici Baraian Tudor Stefan (BaraianTudor) | Cod sursa (job #1444060) | Statistici Stefan Bogdan (sbgrz) | Cod sursa (job #1547514)
#include <stdio.h>
#include <stdlib.h>
int a[500000],n;
void QUICKSORT(int inf, int sup)
{
int x, i, j, t;
i = inf;
j = sup;
int rand();
x = a[rand()%(j-i)+i];
do {
while ( (i < sup) && (a[i] < x) ) i++;
while ( (j > inf) &&(a[j] > x) ) j--;
if ( i<= j ) {
t = a[i];
a[i] = a[j];
a[j] = t;
i++;
j--;
}
} while ( i <= j );
if ( inf < j ) QUICKSORT(inf, j);
if ( i < sup ) QUICKSORT(i, sup);
}
int main()
{
int i;
FILE *f,*g;
f=fopen("algsort.in","r");
g=fopen("algsort.out","w");
fscanf(f,"%d",&n);
for(i=0;i<n;i++)
fscanf(f,"%d",&a[i]);
QUICKSORT(0,n-1);
for(i=0;i<n;i++)
fprintf(g,"%d ",a[i]);
fprintf(g,"\n");
return 0;
}