/* 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); } }