Beispiel #1
0
 public ViDoubleLinkNode2 <T> New()
 {
     if (_nodes.IsEmpty())
     {
         return(new ViDoubleLinkNode2 <T>(new T()));
     }
     else
     {
         ViDoubleLinkNode2 <T> node = _nodes.GetHead();
         node.Detach();
         return(node);
     }
 }
Beispiel #2
0
 //-------------------------------------------------------------------------
 public static void PushBefore(ViDoubleLinkNode2 <T> after, ViDoubleLinkNode2 <T> node)
 {
     node.Detach();
     _PushBefore(after, node);
 }
Beispiel #3
0
 //-------------------------------------------------------------------------
 public static void PushAfter(ViDoubleLinkNode2 <T> before, ViDoubleLinkNode2 <T> node)
 {
     node.Detach();
     _PushAfter(before, node);
 }
Beispiel #4
0
 //-------------------------------------------------------------------------
 public void PushFront(ViDoubleLinkNode2 <T> node)
 {
     node.Detach();
     _PushAfter(_root, node);
 }
Beispiel #5
0
 //-------------------------------------------------------------------------
 public void PushBack(ViDoubleLinkNode2 <T> node)
 {
     node.Detach();
     _PushBefore(_root, node);
 }