public void AddIlan(int key, object value) { int hash = (key % TABLE_SIZE); if (table[hash] == null) { table[hash] = new LinkedHashEntry(key, value); } else { LinkedHashEntry entry = table[hash]; while (entry.Next != null && entry.Anahtar != key) { entry = entry.Next; } if (entry.Anahtar == key) { entry.Deger = value; } else { entry.Next = new LinkedHashEntry(key, value); } } }
public void RemoveIlan(int key) { int hash = (key % TABLE_SIZE); if (table[hash] != null) { LinkedHashEntry prevEntry = null; LinkedHashEntry entry = table[hash]; while (entry.Next != null && entry.Anahtar != key) { prevEntry = entry; entry = entry.Next; } if (entry.Anahtar == key) { if (prevEntry == null) { table[hash] = entry.Next; } else { prevEntry.Next = entry.Next; } } } }
public void Put(int key, int value) { int hash = (key % TABLE_SIZE); if (table[hash] == null) { table[hash] = new LinkedHashEntry(key, value); } else { LinkedHashEntry entry = table[hash]; while (entry.GetNext() != null && entry.GetKey() != key) { entry = entry.GetNext(); } if (entry.GetKey() == key) { entry.SetValue(value); } else { entry.SetNext(new LinkedHashEntry(key, value)); } } }
public IsIlani GetIlan(int key) { int hash = (key % TABLE_SIZE); if (table[hash] == null) { return(null); } else { LinkedHashEntry entry = table[hash]; while (entry != null && entry.Anahtar != key) { entry = entry.Next; } if (entry == null) { return(null); } else { return((IsIlani)entry.Deger); } } }
public void Remove(int key) { int hash = (key % TABLE_SIZE); if (table[hash] != null) { LinkedHashEntry prevEntry = null; LinkedHashEntry entry = table[hash]; while (entry.GetNext() != null && entry.GetKey() != key) { prevEntry = entry; entry = entry.GetNext(); } if (entry.GetKey() == key) { if (prevEntry == null) { table[hash] = entry.GetNext(); } else { prevEntry.SetNext(entry.GetNext()); } } } }
public int Get(int key) { int hash = (key % TABLE_SIZE); if (table[hash] == null) { return(-1); } else { LinkedHashEntry entry = table[hash]; while (entry != null && entry.GetKey() != key) { entry = entry.GetNext(); } if (entry == null) { return(-1); } else { return(entry.GetValue()); } } }
private void MoveToFirst(LinkedHashEntry entry) { if (!ReferenceEquals(entry, Header)) { entry.Before.After = entry.After; entry.After.Before = entry.Before; entry.After = Header; entry.Before = Header.Before; Header.Before.After = entry; Header.Before = entry; Header = entry; } }
protected override HashEntry CreateEntry(K key, V value) { var linkedEntry = new LinkedHashEntry(key, value); if (Header == null) { Header = linkedEntry; Header.Before = Header.After = Header; } else { linkedEntry.After = Header; linkedEntry.Before = Header.Before; Header.Before.After = linkedEntry; Header.Before = linkedEntry; } return(linkedEntry); }
public override bool Remove(K key) { Guarder.CheckNull(key); var removed = false; var entry = GetEntry(key) as LinkedHashEntry; if (entry != null) { if (base.Remove(key)) { if (ReferenceEquals(entry, Header)) { Header = entry.After; } entry.Before.After = entry.After; entry.After.Before = entry.Before; removed = true; } } return(removed); }
public void SetNext(LinkedHashEntry next) { this.next = next; }
internal LinkedHashEntry(int key, int value) { this.key = key; this.value = value; this.next = null; }
public LinkedHashEntry(int anahtar, object deger) { this.anahtar = anahtar; this.deger = deger; this.next = null; }