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); }
public void Show() { HashNode <T> p = this; while (p != null) { Console.Write(p.Data + "->"); p = p.Next; } }
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; } }
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(); }
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); } }
public HashNode() { data = default(T); next = null; }
public HashNode(T data) { this.data = data; next = null; }