public void insertar(string nickname, int valor) { NodoListaSimple nuevo = new NodoListaSimple(); nuevo.nickname = nickname; nuevo.valor = valor; insertar(nuevo); }
//Recorre el árbol insertando cada nodo en la lista de consultas junto con el valor de unidades destruidas public void masUnidadesDestruidas(Nodo raiz) { if (raiz != null) { NodoListaSimple nuevo = new NodoListaSimple(); nuevo.nickname = raiz.nickname; nuevo.valor = obtenerPorcentajeUnidadesDestruidas(raiz.listaJuegos); consultas.insertar(nuevo); masUnidadesDestruidas(raiz.izquierda); masUnidadesDestruidas(raiz.derecha); } }
//RECORRE TODO EL ARBOL DESDE EL NODO RAIZ INSERTANDO CADA USUARIO Y SU NUMERO DE JUEGOS GANADOS EN LA LSITA consultas DE ESTA CLASE public void masJuegosGanados(Nodo raiz) { if (raiz != null) { NodoListaSimple nuevo = new NodoListaSimple(); nuevo.nickname = raiz.nickname; nuevo.valor = obtenerJuegosGanados(raiz.listaJuegos); consultas.insertar(nuevo); masJuegosGanados(raiz.izquierda); masJuegosGanados(raiz.derecha); } }
//ESTE MÉTODO RECORRE LA LSITA SIMPLE DE CONSULTAS Y DEVUELVE UN STRING CON SUS NICKNAMES Y SUS VALORES, PUEDE SER VICTORIAS O PORCENTAJE UNIDADES DESTRUIDAS public string escribirConsulta(int opcion) { string texto = ""; int contador = 0; NodoListaSimple aux = consultas.inicio; while (aux != null && contador < 10) { if (opcion == 0) { texto += aux.nickname + " " + aux.valor.ToString() + Environment.NewLine; contador++; } else { texto += aux.nickname + " " + aux.valor.ToString() + "%" + Environment.NewLine; contador++; } aux = aux.siguiente; } return(texto); }
public void insertar(NodoListaSimple nuevo) { if (tamaño == 0) { inicio = nuevo; fin = nuevo; tamaño++; } else if (tamaño == 1) { if (nuevo.valor > inicio.valor) { nuevo.siguiente = inicio; inicio.anterior = nuevo; inicio = nuevo; tamaño++; } else { fin.siguiente = nuevo; nuevo.anterior = fin; fin = nuevo; tamaño++; } } else if (tamaño > 1) { if (nuevo.valor > inicio.valor) { nuevo.siguiente = inicio; inicio.anterior = nuevo; inicio = nuevo; tamaño++; } else { NodoListaSimple aux = inicio; while (aux != null && nuevo.valor < aux.valor) { aux = aux.siguiente; } if (aux != null) { if (aux != fin) { nuevo.siguiente = aux; if (aux.anterior != null) { aux.anterior.siguiente = nuevo; nuevo.anterior = aux.anterior; } aux.anterior = nuevo; tamaño++; } else { nuevo.siguiente = fin; if (fin.anterior != null) { fin.anterior.siguiente = nuevo; nuevo.anterior = fin.anterior; } fin.anterior = nuevo; tamaño++; } } else { fin.siguiente = nuevo; nuevo.anterior = fin; fin = nuevo; tamaño++; } } } else { } }