public void modifica_usuario(Usuario usuario) { nodo_raiz = this.ModificaUsuario(nodo_raiz, usuario); }
public Nodo InsertarValor(Nodo nodo, Usuario usuario, Logical h) { Nodo n1; if (nodo == null || nodo.getUsuario() == null) { nodo = new Nodo(); nodo.setUsuario(usuario); h.setLogical(true); } else if (Comparador.menor_que(usuario, nodo.getUsuario())) { Nodo izquierda; izquierda = InsertarValor(nodo.getIzquierda(), usuario, h); nodo.setIzquierda(izquierda); if (h.booleanValue()) { // decrementa el fe por aumentar la altura de rama izquierda switch (nodo.fe) { case 1: nodo.fe = 0; h.setLogical(false); break; case 0: nodo.fe = -1; break; case -1: // aplicar rotaciĆ³n a la izquierda n1 = (Nodo)nodo.getIzquierda(); if (n1.fe == -1) { nodo = rotacionII(nodo, n1); this.inserta_texto("Factor de equilibrio = -2; Nodos en Rotacion =" + nodo.getUsuario().nickname + "," + n1.getUsuario().nickname + " Rotacion II"); } else { nodo = rotacionID(nodo, n1); this.inserta_texto("Factor de equilibrio = -2; Nodos en Rotacion =" + nodo.getUsuario().nickname + "," + n1.getUsuario().nickname + " Rotacion ID"); } h.setLogical(false); break; } } } else if (Comparador.mayor_que(usuario, nodo.getUsuario())) { Nodo derecha; derecha = InsertarValor(nodo.getDerecha(), usuario, h); nodo.setDerecha(derecha); if (h.booleanValue()) { // incrementa el fe por aumentar la altura de rama izquierda switch (nodo.fe) { case 1: // aplicar rotaciĆ³n a la derecha n1 = (Nodo)nodo.getDerecha(); if (n1.fe == +1) { nodo = rotacionDD(nodo, n1); this.inserta_texto("Factor de equilibrio = 2; Nodos en Rotacion =" + nodo.getUsuario().nickname + "," + n1.getUsuario().nickname + " Rotacion DD"); } else { nodo = rotacionDI(nodo, n1); this.inserta_texto("Factor de equilibrio = 2; Nodos en Rotacion =" + nodo.getUsuario().nickname + "," + n1.getUsuario().nickname + " Rotacion DI"); } h.setLogical(false); break; case 0: nodo.fe = +1; break; case -1: nodo.fe = 0; h.setLogical(false); break; } } } else { //IGUALES } return(nodo); }
public void eliminar_nodo(Usuario usuario) { nodo_raiz = BusquedaEliminarNodo(nodo_raiz, usuario); }
public void insertar(Usuario usuario) { Logical h = new Logical(false); nodo_raiz = InsertarValor(nodo_raiz, usuario, h); }