Pagini recente » Cod sursa (job #310769) | Cod sursa (job #1635840) | Cod sursa (job #1338862) | Cod sursa (job #2002717) | Cod sursa (job #736490)
Cod sursa(job #736490)
#include<stdio.h>
FILE *f=fopen("algsort.in","r"),*g=fopen("algsort.out","w");
int n,i,a[500001];
void quicksort(int l, int r)
{ int i = l-1, j = r; int v = a[r]; int aux;
if (r <= l) return;
for (;;)
{
while (a[++i] < v) ;
while (v < a[--j]) if (j == l) break;
if (i >= j) break;
aux=a[i];a[i]=a[j];a[j]=aux;
}
aux=a[i];a[i]=a[r];a[r]=aux;
quicksort(l, i-1);
quicksort(i+1, r);
}
int main()
{
fscanf(f,"%d",&n);
for (i=1;i<=n;i++) fscanf(f,"%d",&a[i]);
quicksort(1,n);
for (i=1;i<=n;i++) fprintf(g,"%d ",a[i]);
fclose(f);fclose(g);
return 0;
}