Esempio n. 1
0
 private void DeleteTail()
 {
     if (size == 1)
     {
         head = null;
         tail = null;
     }
     else
     {
         var beforeTail = tail.prev;
         beforeTail.next = head;
         head.prev       = beforeTail;
         tail            = beforeTail;
     }
 }
Esempio n. 2
0
        private void MoveNodeToHead(DoubleLinkedNode <T> usedNode)
        {
            if (usedNode == head)
            {
                return;
            }

            if (usedNode == tail)
            {
                tail = tail.prev;
                head = usedNode;
                return;
            }

            usedNode.prev.next = usedNode.next;
            usedNode.next.prev = usedNode.prev;

            ChangeHead(usedNode);
        }