/* QuickSort */
void quickSort (int *v, int start, int end);
void quickSort (int *v, int start, int end)
{
int tmp, /* Variable auxiliar */
i, /* Contador */
flag = 0, /* Bandera */
pivote = v[end], /* Valor del pivote */
izq = start-1, /* Valor por izquierda */
der = end, /* Valor por derecha */
if (start < end)
{
while (!flag)
{
while (v [++izq] < pivote);
while (v [--der] > pivote);
if (izq < der)
{
tmp = v [izq];
v [izq] = v [der];
v [der] = tmp;
}
else
flag = 1;
}
tmp = v[izq];
v [izq] = v[end];
v [end] = tmp;
for(i=0; i < T; i++){
printf("%3d", v[i]);
}
printf("\n");
quickSort (v, start, izq-1);
quickSort (v, izq+1, end);
}
}
Comments