Está en la página 1de 5

4 3 2

Input: n, a //n es el nmero de elementos de a


I J K
Output: a ordenado
2 0 2
1. intervalo n/2 -2
2. mientras (intervalo > 0) hacer 3 1 3

3. desde i (intervalo) hasta n-1 hacer


4. j i - intervalo
5. mientras (j >= 0) hacer
6. k j + intervalo
7. si (a[j] <= a[k]) entonces
8. j0 4 3 2
2 3 4
9. sino 2 1 4
10. Intercambio (a[j], a[k]);
11. j j - intervalo
12. fin _ si
13. fin _ mientras
14. fin _ desde
15. intervalo=intervalo/2
16. fin _ mientras
1

INTERVALO N
2 4

1
1
3
quicksort(A, primero, ultimo) ultimo
primero
central = (primero + ultimo)/2; PUTO PAULO DE LA VERGAAAA!!!!
2. pivote = A[central];
3. i = primero; j = ultimo;
4. hacer
5. mientras (A[i] < pivote) i++;
I J
6. mientras (A[j] > pivote) j--; 0 3
7. si (i <= j)
8. intercambiar(A, i, j); //Intercambia
A[i] con A[j]
9. i++;
10. j--;
11. mientras (i <= j);
12. if (primero < j)
13. quicksort(A, primero, j);
//quicksort sublista izqda
14. if (i < ultimo)
15. quicksort(A, i, ultimo); //
quicksort sublista drcha
n-1
0
UTO PAULO DE LA VERGAAAA!!!!!! A PERO SI FUERA EL BRYAM

CENTRAL PIVOTE N
1 3 4

4 3
2 1

También podría gustarte