corregir_insertar_rn( A, z ) 1 while z.p.color == ROJO 2 if z.p == z.p.p.izq 3 y = z.p.p.der 4 if y.color == ROJO # caso 1 5 z.p.color = NEGRO # caso 1 6 y.color = NEGRO # caso 1 7 z.p.p.color = ROJO # caso 1 8 z = z.p.p # caso 1 9 else 10 if z == z.p.der # caso 2 11 z = z.p # caso 2 12 rotar_izquierda(A, z) # caso 2 13 z.p.color = NEGRO # caso 3 14 z.p.p.color = ROJO # caso 3 15 rotar_derecha( A, z.p.p ) # caso 3 16 else 17 y = z.p.p.izq 18 if y.color == ROJO 19 z.p.color = NEGRO 20 y.color = NEGRO 21 z.p.p.color = ROJO 22 z = z.p.p 23 else 24 if z == z.p.izq 25 z = z.p 26 rotar_derecha(A, z) 27 z.p.color = NEGRO 28 z.p.p.color = ROJO 29 rotar_izquierda( A, z.p.p ) 30 A.raiz.color = NEGRO