método de ordenamiento quicksort-1

42
Método de Ordenamiento QUICKSORT 8 6 4 2 (1 ) (2 ) (3 ) (4 )

Upload: jose-luis-fernandez-gamarra

Post on 16-Feb-2017

113 views

Category:

Devices & Hardware


6 download

TRANSCRIPT

Page 1: Método de ordenamiento   quicksort-1

Método de OrdenamientoQUICKSORT

8 6 4 2

(1) (2) (3) (4)

Page 2: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8 6 4 2

(1) (2) (3) (4)

Page 3: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8 6 4 2

(1) (2) (3) (4)

Page 4: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8 6 4 2

(1) (2) (3) (4)

Page 5: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8 6 4 2

(1) (2) (3) (4)

Page 6: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8 6 4 2

(1) (2) (3) (4)

Page 7: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8 6 4 2

(1) (2) (3) (4)

Page 8: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8 6 4 2

(1) (2) (3) (4)

Page 9: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8 6 4 2

(1) (2) (3) (4)

Page 10: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8 6 4 2

(1) (2) (3) (4)

Page 11: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8 6 4 2

(1) (2) (3) (4)

Page 12: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8

8 6 4 2

(1) (2) (3) (4)

Page 13: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8

8 6 4 2

(1) (2) (3) (4)

Page 14: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8

2 6 4 2

(1) (2) (3) (4)

Page 15: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8

2 6 4 2

(1) (2) (3) (4)

Page 16: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8

2 6 4 8

(1) (2) (3) (4)

Page 17: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8

2 6 4 8

(1) (2) (3) (4)

Page 18: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=2 J=3x= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8

2 6 4 8

(1) (2) (3) (4)

Page 19: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=2 J=3x= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8

2 6 4 8

(1) (2) (3) (4)

Page 20: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=2 J=3x= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIf

While(i<=j)If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8

2 6 4 8

(1) (2) (3) (4)

Page 21: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=2 J=3x= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8

2 6 4 8

(1) (2) (3) (4)

Page 22: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=2 J=3x= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8

2 6 4 8

(1) (2) (3) (4)

Page 23: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8

2 6 4 8

(1) (2) (3) (4)

Page 24: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=IZQ J=DERx= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8

2 6 4 8

(1) (2) (3) (4)

Page 25: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8

2 6 4 8

(1) (2) (3) (4)

Page 26: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

2 6 4 8

(1) (2) (3) (4)

Page 27: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

2 6 4 8

(1) (2) (3) (4)

Page 28: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

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

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

2 6 4 8

(1) (2) (3) (4)

Page 29: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=2 J=3x= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

2 6 4 8

(1) (2) (3) (4)

Page 30: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=2 J=3x= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

2 6 4 8

(1) (2) (3) (4)

Page 31: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=2 J=3x= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

2 6 4 8

(1) (2) (3) (4)

Page 32: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=2 J=3x= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

2 6 4 8

(1) (2) (3) (4)

Page 33: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=2 J=3x= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

2 6 4 8

(1) (2) (3) (4)

Page 34: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=2 J=3x= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

2 6 4 8

(1) (2) (3) (4)

Page 35: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=2 J=3x= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

6

2 6 4 8

(1) (2) (3) (4)

Page 36: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=2 J=3x= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

6

2 6 4 8

(1) (2) (3) (4)

Page 37: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=2 J=3x= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

6

2 4 4 8

(1) (2) (3) (4)

Page 38: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=2 J=3x= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

6

2 4 4 8

(1) (2) (3) (4)

Page 39: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=2 J=3x= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

6

2 4 6 8

(1) (2) (3) (4)

Page 40: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=2 J=3x= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

8 6 4 2

(1) (2) (3) (4)

Page 41: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=3 J=2x= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

6

8 6 4 2

(1) (2) (3) (4)

Page 42: Método de ordenamiento   quicksort-1

Método Quicksorti= izq; j= der

I=3 J=2x= vect((izq+der)div2)While((vect(i)<x)and(j>izq))

i=i+1EndWhile

While((x< vect(J))and(j>izq))

j=j-1

EndWhileIf (i<=j)

Aux=vect(i)Vect(i)=vect(j)

vect(j)=auxI=i+1; j=J-1

EndIfWhile(i<=j)

If(izq<j)

Ordena( vect, izq, j)

If(i<der)

EndIf

Ordena( vect, i, der)EndIf

EndWhile

VALOR AUXILIAR

6

8 6 4 2

(1) (2) (3) (4)

FIN DEL ALGORITMO