public void Remove(T item) { DoubleLinkedListIterator p = FindPrevious(item); if (p.Current != null) { p.Current.Next = p.Current.Next.Next; } }
/// <summary> /// Insert after previousNode /// </summary> /// <param name="item">Data for the node iserted.</param> /// <param name="p">Location after which the item and node should be located.</param> public void Insert(T item, DoubleLinkedListIterator p) { if (item != null && p != null) { DoubleLinkedNode newNode = new DoubleLinkedNode(); newNode.Data = item; p.Current.Next = newNode; Tail.Previous = newNode; newNode.Next = Tail; newNode.Previous = p.Current; } }
public override string ToString() { string str = "["; if (!IsEmpty()) { DoubleLinkedListIterator itr = First(); for (; itr.IsValid() && itr.Current != Tail; itr.Advance()) { str += itr.Retrieve().ToString() + ","; } } return(str += "]"); }