3. P actual public boolean delete (intllave) { NodoArbol actual = raíz; NodoArbol p = raíz; Boolean hijoizq= true; while (actual.Dato != llave) { p= actual; if (llave < actual.Dato) { hijoizq= true; actual =actual.izq// va a la izquierda } else { hijoizq= false; actual= actual.der // va a la derecha } if (actual == null) // no lo encontro return false; } // fin while 5 3 9 4 7 12 6
4. public boolean delete (intllave) { NodoArbol actual = raíz; NodoArbol p = raíz; Boolean hijoizq= true; while (actual.Dato != llave) { p= actual; if (llave < actual.Dato) { hijoizq= true; actual =actual.izq// va a la izquierda } else { hijoizq= false; actual= actual.der // va a la derecha } if (actual == null) // no lo encontro return false; } // fin while p 5 actual 3 9 4 7 12 6
5. public boolean delete (intllave) { NodoArbol actual = raíz; NodoArbol p = raíz; Boolean hijoizq= true; while (actual.Dato != llave) { p= actual; if (llave < actual.Dato) { hijoizq= true; actual =actual.izq// va a la izquierda } else { hijoizq= false; actual= actual.der // va a la derecha } if (actual == null) // no lo encontro return false; } // fin while 5 p 3 9 actual 4 7 12 6
6. // si no tiene hijo, simplemente lo borra if (actual.izq == null && actual.der == null) { (if actual == raiz) // si es la raíz root = null; // el árbol esta vacío elseif(hijoizq) p.izq = null //lo desconecta de p else p.der = null; } p 9 actual 7 12 6
7. p // si no tiene hijo derecho, lo reemplaza con el subárbol izquierdo else if( actual.der == null) if (actual == raiz) raiz = actual.izq; else if (hijoizq) p.izq =actual.izq; else p.der= actual.izq; 9 actual 7 12 6
8. p // si no tiene hijo derecho, lo reemplaza con el subárbol izquierdo else if( actual.der == null) if (actual == raiz) raiz = actual.izq; else if (hijoizq) p.izq =actual.izq; else p.der= actual.izq; 9 9 9 actual 7 7 7 12 6
9. p // si no tiene hijo derecho, lo reemplaza con el subárbol izquierdo else if( actual.der == null) if (actual == raiz) raiz = actual.izq; else if (hijoizq) p.izq =actual.izq; else p.der= actual.izq; 9 9 9 actual 7 7 7 12 6