Beispiel #1
0
        public override void Travers(TraversOrder order, BinaryTreeNode <T> Root)
        {
            switch (order)
            {
            case TraversOrder.Inorder:
                if (Root != null)
                {
                    Travers(order, Root.m_nodes[1]);
                    Console.Write(Root.Entry + " ");
                    Travers(order, Root.m_nodes[2]);
                }
                break;

            case TraversOrder.Postorder:
                if (Root != null)
                {
                    Travers(order, Root.m_nodes[1]);
                    Travers(order, Root.m_nodes[2]);
                    Console.Write(Root.Entry + " ");
                }
                break;

            case TraversOrder.Preorder:
                if (Root != null)
                {
                    Console.Write(Root.Entry + " ");
                    Travers(order, Root.m_nodes[1]);
                    Travers(order, Root.m_nodes[2]);
                }
                break;
            }
        }
Beispiel #2
0
 public override void Travers(TraversOrder order, ListNode <T> Root)
 {
     if (Root != null && order == TraversOrder.ListOrder)
     {
         Console.Write(Root.Entry + " ");
         Travers(order, Root.Next);
     }
 }
 public override void Travers(TraversOrder order, GenericBlockChain <T, ENTRY> root)
 {
     /*if (Root != null && order == TraversOrder.ListOrder) {
      *  Console.Write (Root.Entry + " ");
      *  if(root.Next != null) Travers (order, Root.Next);
      * } else if (root != null && order == TraversOrder.ReservListOrder) {
      *  Console.Write (Root.Entry + " ");
      *  if(root.Prev != null) Travers (order, root.Prev);
      * }*/
 }
Beispiel #4
0
 public override void Travers(TraversOrder order, funcTravers travers, StarNode <T> root)
 {
     if (root != null)
     {
         travers(root);
         if (root.IsRoot)
         {
             m_objects.Travers(order, root.m_objects);
         }
     }
 }
Beispiel #5
0
 public override void Travers(TraversOrder order, StarNode <T> root)
 {
     if (root != null)
     {
         Console.WriteLine("Stargraph IsRoot: {0}", root.IsRoot);
         if (root.IsRoot)
         {
             m_objects.Travers(order, root.m_objects);
         }
     }
 }
Beispiel #6
0
 public override void Travers(TraversOrder order, funcTravers travers, ListNode <T> root)
 {
     if (root != null && order == TraversOrder.ListOrder)
     {
         travers(root.Next);
         Travers(order, travers, root.Next);
     }
     if (root != null && order == TraversOrder.ReservListOrder)
     {
         travers(root.Next);
         Travers(order, travers, root.Prev);
     }
 }
 public override void Travers(TraversOrder order, funcTravers travers, GenericBlockChain <T, ENTRY> chain)
 {
     if (order == TraversOrder.ListOrder)
     {
         for (GenericBlockChain <T, ENTRY> root = chain; root != null; root = root.Next)
         {
             travers(root);
         }
     }
     else if (order == TraversOrder.ReservListOrder)
     {
         for (GenericBlockChain <T, ENTRY> root = chain; root != null; root = root.Prev)
         {
             travers(root);
         }
     }
 }
Beispiel #8
0
        public override void Travers(TraversOrder order, funcTravers travers, BinaryTreeNode <T> root)
        {
            if (travers == null)
            {
                throw new ArgumentNullException("travers");
            }

            switch (order)
            {
            case TraversOrder.Inorder:
                if (root != null)
                {
                    Travers(order, travers, root.m_nodes[1]);
                    travers(root);
                    Travers(order, travers, root.m_nodes[2]);
                }
                break;

            case TraversOrder.Postorder:
                if (root != null)
                {
                    Travers(order, travers, root.m_nodes[1]);
                    Travers(order, travers, root.m_nodes[2]);
                    travers(root);
                }
                break;

            case TraversOrder.Preorder:
                if (root != null)
                {
                    travers(root);
                    Travers(order, travers, root.m_nodes[1]);
                    Travers(order, travers, root.m_nodes[2]);
                }
                break;
            }
        }
Beispiel #9
0
 public abstract void Travers(TraversOrder order, funcTravers travers, D Root);