private void buscar2(NodoArbolABB raiz, IComparable usuario, String password) { Verificacion = 0; if (raiz == null) { //Console.WriteLine("datos incorrectos"); Verificacion = 0; } else { if (raiz.getNickname().ToString() == usuario.ToString()) { //Console.WriteLine("datos encontrados"); Verificacion = 1; } else if (usuario.CompareTo(raiz.getNickname()) <= 0) { buscar2(raiz.getIzquierdo(), usuario, password); } else { buscar2(raiz.getDerecho(), usuario, password); } } }
private void Rlista(NodoArbolABB actual) { if (actual != null) { if (actual.getListaJuegos().primero != null) { NodoListaDoble actual2 = actual.getListaJuegos().primero; while (actual2 != null) { if (actual.getNicknamee() == actual2.getNickname()) { if (contador == 0) { fichero.Write(actual2.getNickname() + ":f1 -> " + "\"" + "Usuario: " + actual2.getNickname() + ", \n Oponente: " + actual2.getNicknameOponente() + ", \n Unidades Desplegadas: " + actual2.getUnidadesDesplegadas().ToString() + ", \n Unidades Sobrevivientes: " + actual2.getUnidadesSobrevivientes().ToString() + ", \n Unidades Destruidas: " + actual2.getUnidadesDestruidas().ToString() + ", \n Victoria: " + actual2.getEstadoVictoria().ToString() + "\"[dir=both];"); fichero.Write("\n"); contador = 1; } else { fichero.Write("\"" + "Usuario: " + actual2.getNickname() + ", \n Oponente: " + actual2.getAnterior().getNicknameOponente() + ", \n Unidades Desplegadas: " + actual2.getUnidadesDesplegadas().ToString() + ", \n Unidades Sobrevivientes: " + actual2.getUnidadesSobrevivientes().ToString() + ", \n Unidades Destruidas: " + actual2.getUnidadesDestruidas().ToString() + ", \n Victoria: " + actual2.getEstadoVictoria().ToString() + "\"" + "->" + "\"" + "Usuario: " + actual2.getNickname() + ", \n Oponente: " + actual2.getNicknameOponente() + ", \n Unidades Desplegadas: " + actual2.getUnidadesDesplegadas().ToString() + ", \n Unidades Sobrevivientes: " + actual2.getUnidadesSobrevivientes().ToString() + ", \n Unidades Destruidas: " + actual2.getUnidadesDestruidas().ToString() + ", \n Victoria: " + actual2.getEstadoVictoria().ToString() + "\"[dir=both];"); fichero.Write("\n"); } //Console.WriteLine(actual2.getNickname() + " Oponente: " + actual2.getNicknameOponente()); actual2 = actual2.getSiguiente(); } else { actual2 = actual2.getSiguiente(); } } contador = 0; } } }
public void EliminarNodo(NodoArbolABB valor,IComparable usuario,String Contra, String Email, int Conexion) { if ((valor.getIzquierdo() != null) && (valor.getDerecho() != null)) { //Elimina con 2 hijos //NodoArbolABB minimo = valor.getDerecho().minimo(); //this.setNickname(minimo.getNickname()); //valor.getDerecho().EliminarNodo(valor, minimo.getNickname(), Contra, Email, Conexion); } else if ((valor.getIzquierdo() != null) || (valor.getDerecho() != null)) { //Eliminar con 1 hijo NodoArbolABB sustituto = valor.getIzquierdo() != null ? valor.getIzquierdo() : valor.getDerecho(); this.setNickname(sustituto.getNickname()); this.setIzquierdo(sustituto.getIzquierdo()); this.setDerecho(sustituto.getDerecho()); } else { //Eliminar sin hijos if (valor.getPadre() != null) { //if (raiz == raiz.getPadre().getIzquierdo()) raiz.getPadre().getIzquierdo() = null; if (this == valor.getPadre().getIzquierdo()) valor.getPadre().setIzquierdo(null); if (this == valor.getPadre().getDerecho()) valor.getPadre().setDerecho(null); valor.setPadre(null); } valor = null; } }
private void insertarConPadre(IComparable Usuario, String Contra, String Email, int Conexion, NodoArbolABB Padre,ListaDoble ListaJuegos) { if (Usuario.CompareTo(Nickname)<0) { if (Izquierdo==null) { Izquierdo = new NodoArbolABB(Usuario, Contra, Email, Conexion,this,ListaJuegos); } else { Izquierdo.insertarConPadre(Usuario, Contra, Email, Conexion,this,ListaJuegos); } } else if (Usuario.CompareTo(Nickname) > 0) { if (Derecho == null) { Derecho = new NodoArbolABB(Usuario, Contra, Email, Conexion,this,ListaJuegos); } else { Derecho.insertarConPadre(Usuario, Contra, Email, Conexion,this,ListaJuegos); } } else { Console.WriteLine("No se permiten valores duplicados--> " + Usuario.ToString()); } }
private void inorden(NodoArbolABB a) { if (a == null) { return; } inorden(a.getIzquierdo()); Console.Write(a.getNicknamee() + ","); inorden(a.getDerecho()); }
public void Insertar(IComparable Nickname, String Password, String Correo, int IndicadorConexion, ListaDoble ListaJuegos) { if (ArbolVacio(RaizABB)) { RaizABB = new NodoArbolABB(Nickname, Password, Correo, IndicadorConexion, null, ListaJuegos); } else { RaizABB.insertar(Nickname, Password, Correo, IndicadorConexion, ListaJuegos); } }
public Boolean ArbolVacio(NodoArbolABB Raiz) { if (Raiz == null) { return(true); } else { return(false); } }
private void list(NodoArbolABB actual) { if (actual.getIzquierdo() != null) { Rlista(actual.getIzquierdo()); list(actual.getIzquierdo()); } if (actual.getDerecho() != null) { Rlista(actual.getDerecho()); list(actual.getDerecho()); } }
public NodoArbolABB(IComparable Nickname, String Password, String Correo, int IndicadorConexion, NodoArbolABB Padre,ListaDoble ListaJuegos) { this.Nickname = Nickname; this.Usuario = Nickname.ToString(); this.Password = Password; this.Correo = Correo; this.IndicadorConexion = IndicadorConexion; this.Padre = Padre; this.Izquierdo = null; this.ListaJuegos = ListaJuegos; this.Derecho = null; this.id = Correlativo++; //this.id = Correlativo++; }
private void Reemplazar(NodoArbolABB raiz, IComparable usuario, String contra, String Correo, int IndicadorConexion) { if (raiz != null) { if (raiz.getNicknamee() == usuario.ToString()) { //Console.WriteLine("datos encontrados"); raiz.EliminarNodo(raiz, usuario, contra, Correo, IndicadorConexion); } else if (usuario.CompareTo(raiz.getNickname()) <= 0) { Reemplazar(raiz.getIzquierdo(), usuario, contra, Correo, IndicadorConexion); } else { Reemplazar(raiz.getDerecho(), usuario, contra, Correo, IndicadorConexion); } } }
private void inorden(NodoArbolABB a) { if (a == null) { return; } inorden(a.getIzquierdo()); Console.Write(a.getNicknamee() + ","); //if (a.getPadre() == null) //{ // Console.WriteLine(" {//} "+a.getNickname().ToString() + ","); //} //else //{ // Console.WriteLine(a.getNickname().ToString() + " " + a.getPadre().getNickname().ToString() + " , "); //} inorden(a.getDerecho()); }
private void grafoArbol(NodoArbolABB actual) { //StreamWriter fichero = new StreamWriter("ABBTreeConLista.dot"); if (actual.getIzquierdo() != null) { fichero.Write(actual.getIzquierdo().getNicknamee() + " [label=\"<f0> |<f1>" + actual.getIzquierdo().getNicknamee() + " |<f2>\"];"); fichero.Write("\n"); fichero.Write(actual.getNicknamee() + ":f0 -> " + actual.getIzquierdo().getNicknamee() + ":f1;"); fichero.Write("\n"); Rlista(actual.getIzquierdo()); //Console.WriteLine(graflista(actual.getIzquierdo())); grafoArbol(actual.getIzquierdo()); } if (actual.getDerecho() != null) { fichero.Write(actual.getDerecho().getNicknamee() + " [label=\"<f0> |<f1>" + actual.getDerecho().getNicknamee() + " |<f2>\"];"); fichero.Write("\n"); fichero.Write(actual.getNicknamee() + ":f2 -> " + actual.getDerecho().getNicknamee() + ":f1;"); fichero.Write("\n"); Rlista(actual.getDerecho()); //Console.WriteLine(graflista(actual.getIzquierdo())); grafoArbol(actual.getDerecho()); } }
public ArbolBinarioBusqueda() { RaizABB = null; }
public void setPadre(NodoArbolABB Padre) { this.Padre = Padre; }
public void setDerecho(NodoArbolABB Derecho) { this.Derecho = Derecho; }
public void setIzquierdo(NodoArbolABB Izquierdo) { this.Izquierdo = Izquierdo; }