Cod sursa(job #290223)
#include<stdio.h>
#define dim 500001
using namespace std;
long long a[dim];
unsigned long n;
void qsort(unsigned long inc, unsigned long sf)
{unsigned long i,j;
long long temp,aux;
i=inc;
j=sf;
temp=a[(i+j)/2];
do
{while(a[i]<temp) i++;
while(a[j]>temp) j--;
if(i<j) aux=a[i],a[i]=a[j],a[j]=aux;
if(i<=j) j=j-1,i+=1;
} while(i<=j);
if(inc<j) qsort(inc,j);
if(i<sf) qsort(i,sf);
}
int main()
{unsigned long i;
FILE*f=fopen("algsort.in","r");
FILE*g=fopen("algsort.out","w");
fscanf(f,"%lu",&n);
for(i=1;i<=n;i++)
fscanf(f,"%lu",&a[i]);
fclose(f);
qsort(1,n);
for(i=1;i<=n;i++)
fprintf(g,"%lu ",a[i]);
fprintf(g,"%c",'\n');
fclose(g);
return 0;
}