Está en la página 1de 42

Mtodo de

Ordenamiento
QUICKSORT
8

(1)

(2)

(3)

(4)

Mtodo Quicksort
i= izq; j= der

I=1

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1 J=4

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1 J=4

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1 J=4

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1 J=4

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile
While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1 J=4

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1 J=4

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1 J=4

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1 J=4

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1 J=4

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1 J=4

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1 J=4

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1 J=4

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1 J=4

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1 J=4

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=2 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=2 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=2 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=2 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=2 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1

J=3

EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=IZQ J=DER

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=1 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=2 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=2 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile
While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=2 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=2 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=2 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=2 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=2 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=2 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=2 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=2 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=2 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=2 J=3

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=3 J=2

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)
If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

Mtodo Quicksort
i= izq; j= der

I=3 J=2

x= vect((izq+der)div2)
While((vect(i)<x)and(j>izq
))
i=i+1
EndWhile

While((x<
vect(J))and(j>izq))
j=j-1
EndWhile
If (i<=j)

Aux=vect(i)
Vect(i)=vect(j)
vect(j)=aux
I=i+1; j=J-1
EndIf
While(i<=j)

(1)

(2)

(3)

(4)

VALOR
AUXILIAR

If(izq<j)
Ordena( vect, izq, j)
EndIf
If(i<der)
Ordena( vect, i, der)
EndIf
EndWhile

FIN DEL
ALGORITMO

También podría gustarte