public ListaEnlazada <Usuario> BuscarCoincidencias(ListaEnlazada <Usuario> Resultado, NodoAvl n, Comparador v) { if (n != null) { if (((Comparador)n.Dato).Contains(v)) { Resultado.Agregar((Usuario)n.Dato); } BuscarCoincidencias(Resultado, (NodoAvl)n.Izquierdo, v); BuscarCoincidencias(Resultado, (NodoAvl)n.Derecho, v); } return(Resultado); }
public void Insertar(Guid Clave, Object Dato) { if (!BuscarLocal(Clave)) { Posicion = HashMod(Clave); if (tabla[Posicion] == null) { tabla[Posicion] = Dato; } else { var actual = tabla[Posicion]; ListaEnlazada <Usuario> colisiones = null; if (typeof(Usuario).Equals(actual.GetType())) { colisiones = new ListaEnlazada <Usuario>(); colisiones.Agregar((Usuario)actual); } else { colisiones = (ListaEnlazada <Usuario>)actual; } colisiones.Agregar((Usuario)Dato); tabla[Posicion] = colisiones; } EnumeratorList.Agregar(Clave); Count++; } }