Necesito ayuda con este deber de programación:
Modifique el código que elimine el nodo número 10 y ejecútelo.
public void Eliminar(int dato) {
raiz = eliminar(dato, raiz);
}
private Nodo eliminar(int dato, Nodo r) {
if (r == null) {
return r;
}
if (dato < r.getDato()) {
r.setIzquierdo(eliminar(dato, r.getIzquierdo()));
} else
if (dato > r.getDato()) {
r.setDerecho(eliminar(dato, r.getDerecho()));
} else
if (r.getIzquierdo() != null && r.getDerecho() != null) {
r.setDato(encontrarMin(r.getDerecho()).getDato());
r.setDerecho(eliminar(r.getDato(), r.getDerecho()));
} else {
r = (r.getIzquierdo() != null) ? r.getIzquierdo() : r.getDerecho();
}
return r;
}
Respuestas a la pregunta
Contestado por
0
Respuesta:
yes
Explicación:
Otras preguntas
Matemáticas,
hace 3 meses
Matemáticas,
hace 3 meses
Matemáticas,
hace 7 meses
Inglés,
hace 11 meses
Derecho ,
hace 11 meses