public LruNode <T> RemoveLRUNode() { LruNode <T> target = Tail.Previous; RemoveNode(target); return(target); }
public void AddToTop(LruNode <T> node) { node.Next = Head.Next; Head.Next.Previous = node; node.Previous = Head; Head.Next = node; }
public void RemoveNode(LruNode <T> node) { node.Previous.Next = node.Next; node.Next.Previous = node.Previous; node.Next = null; node.Previous = null; }
public LruDoubleLinkedList() { Head = new LruNode <T>(); Tail = new LruNode <T>(); Head.Next = Tail; Tail.Previous = Head; }