Pagini recente » Cod sursa (job #2296786) | Cod sursa (job #1843330) | Cod sursa (job #2098328) | Cod sursa (job #1313875) | Cod sursa (job #458753)
Cod sursa(job #458753)
#include <stdio.h>
int v[500001];
long int n, i, j;
void QSort (int p, int q)
{
int st, dr, m, aux;
st = p;
dr = q;
m = v[(p+q)/2];
do
{
while (v[st] < m)
st ++;
while (v[dr] > m)
dr --;
if (st <= dr)
{
aux = v[st];
v[st] = v[dr];
v[dr] = aux;
st ++;
dr --;
}
}
while (st <= dr);
if (st < q)
QSort (st, q);
if (p < dr)
QSort (p, dr);
}
int main ()
{
FILE *f = fopen ("algsort.in","r");
FILE *g = fopen ("algsort.out","w");
fscanf (f,"%ld", &n);
for (i=1; i<=n; ++i)
fscanf (f,"%d", &v[i]);
QSort (1, n);
for (i=1; i<=n; ++i)
fprintf (g,"%d ", v[i]);
fclose(g);
fclose(f);
return 0;
}