コード例 #1
0
        public bool Contains(T item)
        {
            DoubleLinkedListNode <T> current = Head;

            while (current != null)
            {
                if (current.Value.Equals(item))
                {
                    return(true);
                }
                current = current.Next;
            }
            return(false);
        }
コード例 #2
0
 public void RemoveFirst()
 {
     if (Count != 0)
     {
         Head = Head.Next;
         Count--;
         if (Count == 0)
         {
             Tail = null;
         }
         else
         {
             Head.Previous = null;
         }
     }
 }
コード例 #3
0
        public void AddLast(DoubleLinkedListNode <T> node)
        {
            node.Next = null;

            if (Count == 0)
            {
                Head = node;
            }
            else
            {
                Tail.Next     = node;
                node.Previous = Tail;
            }
            Tail = node;
            Count++;
        }
コード例 #4
0
 public void RemoveLast()
 {
     if (Count != 0)
     {
         if (Count == 1)
         {
             Head = null;
             Tail = null;
         }
         else
         {
             Tail.Previous.Next = null;
             Tail = Tail.Previous;
         }
         Count--;
     }
 }
コード例 #5
0
        public void AddFirst(DoubleLinkedListNode <T> node)
        {
            DoubleLinkedListNode <T> temp = Head;

            Head      = node;
            Head.Next = temp;

            if (Count == 0)
            {
                Tail = Head;
            }
            else
            {
                temp.Previous = Head;
            }
            Count++;
        }
コード例 #6
0
 public void AddFirst(T item)
 {
     if (item != null)
     {
         var tmp = new DoubleLinkedListNode <T>();
         tmp.Value = item;
         if (First == null && Last == null)
         {
             tmp.Next = Last;
             tmp.Prev = First;
             First    = Last = tmp;
         }
         else
         {
             tmp.Next = First;
             First    = tmp;
         }
     }
 }