예제 #1
0
        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);
        }
예제 #2
0
        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++;
            }
        }
예제 #3
0
 public Hash()
 {
     Count          = 0;
     EnumeratorList = new ListaEnlazada <Guid>();
 }