Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @SuppressWarnings("unchecked")
- public Nodo<Integer> eliminar(Integer elem) {
- if (raiz.info.equals(elem)) {
- Nodo<Integer> aux = (Nodo<Integer>) raiz;
- Nodo<Integer> aux2 = (Nodo<Integer>) raiz.izq;
- Nodo<Integer> aux3 = (Nodo<Integer>) raiz.der;
- raiz.izq = raiz.izq.izq;
- raiz = (Nodo<T>) aux2;
- raiz.der = (Nodo<T>) aux3;
- return aux;
- }
- return eliminar((Nodo<Integer>) raiz, elem);
- }
- private Nodo<Integer> eliminar(Nodo<Integer> nodo, int elem) {
- if (nodo == null) {
- throw new RuntimeException("No existe en el arbol el elemento ingresado");
- } else if (elem < nodo.info) {
- Nodo<Integer> iz = eliminar(nodo.izq, elem);
- nodo.izq = iz;
- } else if (elem > nodo.info) {
- Nodo<Integer> der = eliminar(nodo.der, elem);
- nodo.der = der;
- } else {
- Nodo<Integer> p = nodo;
- if (p.der == null) {
- nodo = p.izq;
- } else if (p.izq == null) {
- nodo = p.der;
- }
- else {
- nodo = cambiar(p);
- }
- p = null;
- }
- return nodo;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement