public CircleListNode <T> RemoveNext(CircleListNode <T> node) { var nodeToRemove = node.Next; node.Next = nodeToRemove.Next; return(nodeToRemove); }
public CircleListNode <T> AddAfter(CircleListNode <T> node, CircleListNode <T> nextNode) { if (node == null) { throw new NullReferenceException(nameof(node)); } if (nextNode == null) { throw new NullReferenceException(nameof(nextNode)); } nextNode.Next = node.Next; node.Next = nextNode; return(nextNode); }
public CircleList(IEnumerable <T> items) { CircleListNode <T> previous = null; foreach (var item in items) { var node = new CircleListNode <T>(item); if (First == null) { First = node; node.Next = First; } else { AddAfter(previous, node); } previous = node; } }
public CircleListNode <T> AddAfter(CircleListNode <T> node, T value) { return(AddAfter(node, new CircleListNode <T>(value))); }