/// <summary> /// Deletes Node at specified index /// </summary> public void Delete(int index) { if (index == 0) //Delete Head Node { SimpleNode nodeToDelete = GetNodeAtIndex(index); this.First = nodeToDelete.NextNode; } else //Delete Body Node { SimpleNode nodeBeforeDelete = GetNodeAtIndex(--index); SimpleNode nodeToDelete = nodeBeforeDelete.NextNode; nodeBeforeDelete.NextNode = nodeToDelete.NextNode; } this.Count--; }
/// <summary> /// Add element to the end of the list. /// </summary> public void Add(Object newNodeValue) { if (newNodeValue == null) return; SimpleNode elementToBeAdded = new SimpleNode { Value = newNodeValue }; if (this.First == null) //first element added this.First = elementToBeAdded; else { SimpleNode lastElement = this.GetNodeAtIndex(Count - 1);// = elementToBeAdded; lastElement.NextNode = elementToBeAdded; } this.Count++; }