public void AddAfter(CircularLinkedListNode <T> node, CircularLinkedListNode <T> newNode) { VerifyReferencedNode(node); VerifyBlankNode(newNode); newNode.InsertBetween(node, node.forward, this); count++; version++; }
public void AddBefore(CircularLinkedListNode <T> node, CircularLinkedListNode <T> newNode) { VerifyReferencedNode(node); VerifyBlankNode(newNode); newNode.InsertBetween(node.back, node, this); count++; version++; if (node == first) { first = newNode; } }
public void AddLast(CircularLinkedListNode <T> node) { VerifyBlankNode(node); if (first == null) { node.SelfReference(this); first = node; } else { node.InsertBetween(first.back, first, this); } count++; version++; }