marcoshuck icon

Ordenamiento QuickSort

marcoshuck | PRO | 09/13/13 03:52:41 PM UTC | 0 ⭐ | 274 👁️ | Never ⏰ | []
C |

970 B

|

None

|

0 👍

/

0 👎

/* 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