private void DeleteTail() { if (size == 1) { head = null; tail = null; } else { var beforeTail = tail.prev; beforeTail.next = head; head.prev = beforeTail; tail = beforeTail; } }
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); }