Pagini recente » Cod sursa (job #2606672) | Cod sursa (job #1977504) | Cod sursa (job #1120211) | Cod sursa (job #1789676) | Cod sursa (job #905589)
Cod sursa(job #905589)
#include <stdio.h>
#define NMAX 100
int partition (int v[NMAX], int p, int r)
{
int x = v[r], i = p - 1;
int j, aux;
for (j = p; j < r; j++)
{
if (v[j] < x)
{
i++;
aux = v[j];
v[j] = v[i];
v[i] = aux;
}
}
aux = v[i + 1];
v[i + 1] = v[r];
v[r] = aux;
return i + 1;
}
void quick (int v[NMAX], int p, int r)
{
int q;
if (p < r)
{
q = partition (v, p, r);
quick (v, p, q - 1);
quick (v, q + 1, r);
}
}
int main ()
{
freopen ("input.in", "r", stdin);
int n, i, v[NMAX];
scanf ("%d", &n);
for (i = 0; i < n; i++)
scanf ("%d", &v[i]);
quick (v, 0, n - 1);
for (i = 0; i < n; i++)
printf ("%d ", v[i]);
printf ("\n");
return 0;
}