예제 #1
0
파일: ViRoute.cs 프로젝트: xubingyue/def
 public ViDoubleLinkNode2 <T> New()
 {
     if (_nodes.IsEmpty())
     {
         return(new ViDoubleLinkNode2 <T>(new T()));
     }
     else
     {
         ViDoubleLinkNode2 <T> node = _nodes.GetHead();
         node.Detach();
         return(node);
     }
 }
예제 #2
0
 //-------------------------------------------------------------------------
 public static void PushBefore(ViDoubleLinkNode2 <T> after, ViDoubleLinkNode2 <T> node)
 {
     node.Detach();
     _PushBefore(after, node);
 }
예제 #3
0
 //-------------------------------------------------------------------------
 public static void PushAfter(ViDoubleLinkNode2 <T> before, ViDoubleLinkNode2 <T> node)
 {
     node.Detach();
     _PushAfter(before, node);
 }
예제 #4
0
 //-------------------------------------------------------------------------
 public void PushFront(ViDoubleLinkNode2 <T> node)
 {
     node.Detach();
     _PushAfter(_root, node);
 }
예제 #5
0
 //-------------------------------------------------------------------------
 public void PushBack(ViDoubleLinkNode2 <T> node)
 {
     node.Detach();
     _PushBefore(_root, node);
 }