public bool DeleteNode(uint posIndex, out string errorMessage) { errorMessage = ""; try { if (posIndex == 0) { if (Head == null || Head.Next == null) { Head = null; } else { var temp = Head; temp.Next.Prev = null; Head = temp.Next; temp.Next = null; } } else { int count = 0; var temp = Head; while (temp.Next != null && count < posIndex - 1) { count++; temp = temp.Next; } if (temp.Next == null) { temp.Prev.Next = null; } else { temp.Prev.Next = temp.Next; temp.Next.Prev = temp.Prev; temp.Prev = null; temp.Next = null; } } return(true); }catch (Exception ex) { errorMessage = ex.ToString(); return(false); } }
public DoubleLinkedListNode(T data, DoubleLinkedListNode <T> prev, DoubleLinkedListNode <T> next) { Data = data; Prev = prev; Next = next; }