public NodoAvl(NodoABB usuario) { this.usuario = usuario; this.nickname = null; izq = der = null; fe = 0; }
public NodoABB buscarR(NodoABB raiz, string nick) { if (String.Compare(nick, raiz.nickname) == 1)//mayor { if (raiz.der == null) { return(null); } else { return(buscarR(raiz.der, nick)); } } else if (String.Compare(nick, raiz.nickname) == -1)//nuevo menor que raiz { if (raiz.izq == null) { return(null); } else { return(buscarR(raiz.izq, nick)); } } else if (String.Equals(nick, raiz.nickname)) { return(raiz); } return(null); }
public void escribirNodoJuego(NodoLista actual, NodoABB actualABB, int numero) { contenido = contenido + "J" + actualABB.nickname + numero.ToString() + "[label=\"oponente: " + actual.oponente + " \nDesplegados: " + actual.desplegados.ToString() + " \nSobrevivientes: " + actual.sobrevivientes.ToString() + "\nDestruidas: " + actual.destruidas.ToString() + " \nGano: " + actual.gano.ToString() + "\"];\n"; }
public bool eliminar(string nickname) { NodoABB elemento = buscar(nickname); if (elemento != null) //verifica que no esta vacio el nodo { if (esHoja(elemento)) //es el ultimo de la rama { elemento = null; return(true); } else { //si no if (elemento.der != null && elemento.izq != null) { elemento = buscarMin(elemento.der); return(true); } else { if (elemento.izq == null) { elemento = elemento.der; return(true); } else { elemento = elemento.izq; return(true); } } } } return(false); }
public void inser(NodoABB raiz, NodoABB nuevo) { if (String.Compare(nuevo.nickname, raiz.nickname) == 1)//mayor { if (raiz.der == null) { raiz.der = nuevo; } else { inser(raiz.der, nuevo); } } else if (String.Compare(nuevo.nickname, raiz.nickname) == -1)//nuevo menor que raiz { if (raiz.izq == null) { raiz.izq = nuevo; } else { inser(raiz.izq, nuevo); } } }
public void eliminarNodo(NodoABB nodo, string nickname) { if (nodo != null) { } else if (String.Compare(nickname, nodo.nickname) == -1)//menor { eliminarNodo(nodo.izq, nickname); } else if (String.Compare(nickname, nodo.nickname) == 1) //mayor { eliminarNodo(nodo.der, nickname); } else { NodoABB aux; aux = nodo; if (aux.izq == null) { nodo = aux.der; } else if (aux.der == null) { nodo = aux.izq; } else { reemplazar(aux); } aux = null; } }
public bool esHoja(NodoABB nodo) { if (nodo.der == null & nodo.izq == null) { return(true); } return(false); }
public NodoHash(NodoABB nodo, int clave) { this.nickname = nodo.nickname; this.password = nodo.password; this.email = nodo.email; this.conectado = nodo.conectado; this.clave = clave; }
public void graficarListaAlrevez(NodoLista ultimoJuego, NodoABB actual, int fin) { do { contenido = contenido + "J" + actual.nickname + fin.ToString() + " -> " + "J" + actual.nickname + (fin - 1).ToString() + ";\n"; ultimoJuego = ultimoJuego.anterior; fin--; } while (ultimoJuego.anterior != null); }
public void recorrer(NodoABB raiz) { if (raiz != null) { recorrer(raiz.izq); insertar(raiz); recorrer(raiz.der); } }
public NodoAvl(string nickname, string pass, string email) { this.nickname = nickname; this.pass = pass; this.email = email; usuario = null; izq = der = null; fe = 0; }
public NodoABB(string nickname, string password, string email, int conectado) { this.nickname = nickname; this.password = password; this.email = email; this.conectado = conectado; this.izq = null; this.der = null; this.juegos = new ListaJuegos(); }
public string inOrden(NodoABB nodo) { if (nodo != null) { return(inOrden(nodo.izq) + "," + nodo.nickname.ToString() + inOrden(nodo.der)); } else { return(""); } }
public NodoABB crearArbbEspejo(NodoABB actual) { if (actual != null) { NodoABB nuevo = new NodoABB(actual.nickname, actual.password, actual.email, actual.conectado); actual.izq = crearArbbEspejo(actual.der); actual.der = crearArbbEspejo(actual.izq); return(nuevo); } return(null); }
public NodoABB buscarMin(NodoABB raiz) { while (raiz.izq != null) { raiz = raiz.izq; } NodoABB aux = raiz; raiz = null; return(aux); }
public void insertarJuego(string nickname, string oponente, int desplegados, int sobrevivientes, int destruidas, int gano) { NodoABB persona = buscar(nickname); if (persona == null) { } else { persona.juegos.insertar(oponente, desplegados, sobrevivientes, destruidas, gano); } }
public void insertar(string nickname, string password, string email, int conectado) { NodoABB nuevo = new NodoABB(nickname, password, email, conectado); if (raiz == null) { raiz = nuevo; } else { inser(raiz, nuevo); } }
public void insertar(NodoABB usuarioExistente) { NodoAvl nuevo = new NodoAvl(usuarioExistente); if (raiz == null) { raiz = new NodoAvl(usuarioExistente); h = 1; } else { raiz = insertarAvl(raiz, nuevo, ref h); } }
public void insertar(NodoABB nodoNuevo) { int posicion = direccionModular(nodoNuevo.nickname); tabla[posicion] = new NodoHash(nodoNuevo, posicion); elementos++; factorCarga = elementos / tamanoTabla; if (factorCarga > 0.5) { //copia int tam = elementos * 3; copiar(tam); } }
public void graficarRamas(NodoABB actual) { if (actual != null) { if (actual.izq != null) { escribirNodo(actual.izq); contenido = contenido + actual.nickname + ":f0 -> " + actual.izq.nickname + ":f1;\n"; graficarRamas(actual.izq); } if (actual.der != null) { escribirNodo(actual.der); contenido = contenido + actual.nickname + ":f2 -> " + actual.der.nickname + ":f1;\n"; graficarRamas(actual.der); } } }
public void insertarABB(NodoABB raiz) { if (raiz != null) { vacio = false; recorrer(raiz); if (factorCarga < 0.3) { int tam = elementos * 3; //copiar copiar(tam); // } } //agregar vacio = false //verificar si es null //verificar que no sea menor }
public void reemplazar(NodoABB actual) { NodoABB a, p; p = actual; a = actual.izq; while (a.der != null) { p = a; a = a.der; } actual = a; if (p == actual) { p.izq = a.izq; } else { p.der = a.izq; } actual = a; }
public void escribirNodo(NodoABB actual) { contenido = contenido + actual.nickname + "[label=\"<f0>|<f1>Nickname: " + actual.nickname + " \nPassword: "******" \nEmail: " + actual.email + " \nConectado: " + actual.conectado.ToString() + "|<f2>\"];\n"; //GRAFICANDO LISTA if (actual.juegos != null && actual.juegos.cabeza != null) { NodoLista aux = actual.juegos.cabeza; int i = 0; escribirNodoJuego(aux, actual, i); do { escribirNodoJuego(aux.siguiente, actual, i); contenido = contenido + "J" + actual.nickname + i.ToString() + " -> " + "J" + actual.nickname + (i + 1).ToString() + ";\n"; aux = aux.siguiente; i++; } while (aux.siguiente != null); graficarListaAlrevez(aux, actual, i); contenido = contenido + actual.nickname + ":f1 -> " + "J" + actual.nickname + "0;\n"; } }
public void insertarContactoExistente(NodoABB usuario, NodoABB contactoExistenete) { usuario.avl.insertar(contactoExistenete); }
public void insertarContactoNuevo(NodoABB usuario, string nickname, string pass, string email) { usuario.avl.insertar(nickname, pass, email); }
public void elimarPrimerJuego(string nickname) { NodoABB persona = buscar(nickname); persona.juegos.eliminarPrimero(); }