Exemple #1
0
        public HashNode <T> Search(T item)
        {
            int i = HashCode(item);

            if (baseTable[i] == null)
            {
                return(null);
            }
            else
            {
                if (baseTable[i].Data.Equals(item))
                {
                    return(baseTable[i]);
                }
                else
                {
                    HashNode <T> p = baseTable[i].Next;
                    while (p != null)
                    {
                        if (p.Data.Equals(item))
                        {
                            return(p);
                        }
                        else
                        {
                            p = p.Next;
                        }
                    }
                }
            }
            return(null);
        }
Exemple #2
0
        public void Show()
        {
            HashNode <T> p = this;

            while (p != null)
            {
                Console.Write(p.Data + "->");
                p = p.Next;
            }
        }
Exemple #3
0
        public void Add(T item)
        {
            HashNode <T> node = new HashNode <T>(item);
            int          i    = HashCode(item);

            if (baseTable[i] == null)
            {
                baseTable[i] = node;
            }
            else
            {
                node.Next         = baseTable[i].Next;
                baseTable[i].Next = node;
            }
        }
Exemple #4
0
 public void setValue(T1 m_key, T2 m_value)
 {
     if (ocp)
     {
         if (m_key.CompareTo(key) == 0)
         {
             value = m_value;
             return;
         }
         next.setValue(m_key, m_value);
         return;
     }
     key   = m_key;
     value = m_value;
     ocp   = true;
     next  = new HashNode();
 }
Exemple #5
0
 public T2 this[T1 key]
 {
     get
     {
         if (list[hash(key)] != null)
         {
             return(list[hash(key)].findValue(key));
         }
         else
         {
             return(default(T2));
         }
     }
     set
     {
         if (list[hash(key)] == null)
         {
             list[hash(key)] = new HashNode();
         }
         list[hash(key)].setValue(key, value);
     }
 }
Exemple #6
0
 public HashNode()
 {
     data = default(T);
     next = null;
 }
Exemple #7
0
 public HashNode(T data)
 {
     this.data = data;
     next      = null;
 }