Exemple #1
0
        public void Rehash(int clave, string nickname, string password, string correo, bool conectado)
        {
            bool insertado = false;
            int  i         = 1;
            int  indice;

            while (!insertado)
            {
                indice = clave + (int)Math.Pow(i, 2);
                if (indice >= tama)
                {
                    indice = indice - tama;
                    if (nodos[indice] != null && nodos[indice].nickname.Length != 0)
                    {
                        i++;
                    }
                    else
                    {
                        nodos[indice]           = new NodoHashUsuarios();
                        nodos[indice].nickname  = nickname;
                        nodos[indice].password  = password;
                        nodos[indice].correo    = correo;
                        nodos[indice].conectado = conectado;
                        registrosdisponibles++;
                        registrosocupados--;
                        insertado = true;
                    }
                }
                else
                {
                    if (nodos[indice] != null && nodos[indice].nickname.Length != 0)
                    {
                        i++;
                    }
                    else
                    {
                        nodos[indice]           = new NodoHashUsuarios();
                        nodos[indice].nickname  = nickname;
                        nodos[indice].password  = password;
                        nodos[indice].correo    = correo;
                        nodos[indice].conectado = conectado;
                        registrosdisponibles++;
                        registrosocupados--;
                        insertado = true;
                    }
                }
            }
        }
Exemple #2
0
 public void Insertar(string nickname, string password, string correo, bool conectado)
 {
     if (nodos[clave(nickname)] != null && nodos[clave(nickname)].nickname.Length > 0)
     {
         Rehash(clave(nickname), nickname, password, correo, conectado);
     }
     else
     {
         nodos[clave(nickname)]           = new NodoHashUsuarios();
         nodos[clave(nickname)].nickname  = nickname;
         nodos[clave(nickname)].password  = password;
         nodos[clave(nickname)].correo    = correo;
         nodos[clave(nickname)].conectado = conectado;
         registrosdisponibles--;
         registrosocupados++;
     }
 }