コード例 #1
0
 public void AddNodeToFront(T value)
 {
     if (Head == null)
     {
         Head      = new DoublyLinkedListNode <T>(value);
         Tail      = Head;
         Head.prev = Tail;
         Tail.next = Head;
     }
     else
     {
         DoublyLinkedListNode <T> current = new DoublyLinkedListNode <T>(value);
         Head.prev    = null;
         Head.prev    = current;
         current.next = Head;
         Head         = current;
         Head.prev    = Tail;
         Tail.next    = Head;
     }
     Count++;
 }
コード例 #2
0
 public bool RemoveLast()
 {
     if (Head == null)
     {
         return(false);
     }
     else
     {
         if (Head == Tail)
         {
             Clear();
             return(true);
         }
         else
         {
             Tail.next = null;
             Tail      = Tail.prev;
             Tail.next = null;
             Tail.next = Head;
         }
         Count--;
         return(true);
     }
 }
コード例 #3
0
 public void Clear()
 {
     Head  = null;
     Tail  = null;
     Count = 0;
 }
コード例 #4
0
 public DoublyLinkedListNode(T current)
 {
     data = current;
     next = null;
     prev = null;
 }