Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Le pasas 2 indices a QS de Inicio y Fin, usas el primero como pivot
- #Estructura E: (12 bytes)
- #E(<-): 4 bytes
- #E(->): 4 bytes
- #E(v): 4 bytes
- #Pila: (20 bytes)
- #I: 4 bytes
- #F: 4 bytes
- #$s3: 4 bytes
- #$s4: 4 bytes
- #$ra: 4 bytes
- pivot = P
- elemento = X
- ------------------------------------------------
- Cancer1():
- muevo X a la izquierda de P:
- si X(<-) no es null:
- ( X(<-) )(->) = X(->)
- si X(->) no es null:
- ( X(->) )(<-) = X(<-)
- si P(<-) es null:
- $s1 = X
- X(<-) = P(<-)
- X(->) = P
- si P(<-) no es null:
- ( P(<-) )(->) = X
- $s2 = P
- ------------------------------------------------
- Cancer2():
- muevo X a la derecha de P:
- si X(->) no es null:
- ( X(<-) )(->) = X(->)
- si X(->) no es null:
- ( X(->) )(<-) = X(<-)
- X(<-) = P
- X(->) = P(->)
- si P(->) no es null:
- ( P(->) )(<-) = X
- $s3 = P
- $s4 = null
- ------------------------------------------------
- #s1: I del pedazo de la izquierda
- #s2: F del pedazo de la izquierda
- #s3: I del pedazo de la derecha
- #s4: F del pedazo de la derecha
- QS ( I, F ):
- si I == F:
- $ra = $sp - 4
- sp += 20
- volvete a $ra nomás
- j desde I+1 hasta F sin incluir:
- si I(v) < j(v):
- Cancer1()
- si no:
- Cancer2()
- QS ( $s1, $s2 )
- $s3 = $sp - 12
- $s4 = $sp - 8
- QS ( $s3, $s4 )
- $ra = $sp - 4
- $sp += 20
- jr $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement