método de ordenamiento - quicksort

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

Upload: joseph-oscar-ocana-oliveros

Post on 31-Jan-2016

224 views

Category:

Documents


0 download

DESCRIPTION

Algoritmo - metodo de ordenamiento

TRANSCRIPT

Page 1: Método de Ordenamiento - QUICKSORT

Método de Ordenamiento

QUICKSORT

8 6 4 2

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

Page 2: Método de Ordenamiento - QUICKSORT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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