Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
 public DoubleLinkedListNode(T data, DoubleLinkedListNode <T> prev, DoubleLinkedListNode <T> next)
 {
     Data = data;
     Prev = prev;
     Next = next;
 }