Пример #1
0
        private void Traverse(ArbitraryTreeNode node, Action <ArbitraryTreeNode> actionForNode)
        {
            if (node == null)
            {
                return;
            }

            actionForNode(node);
            Traverse(node.LeftChild, actionForNode);
            Traverse(node.RightSibling, actionForNode);
        }
Пример #2
0
 public ArbitraryTree(ArbitraryTreeNode root)
 {
     rootNode = root;
 }
Пример #3
0
 public void AppendRightSibling(ArbitraryTreeNode node, ArbitraryTreeNode nodeToAppend)
 {
     nodeToAppend.Parent = node;
     node.RightSibling   = nodeToAppend;
 }
Пример #4
0
 public void AppendLeftChild(ArbitraryTreeNode node, ArbitraryTreeNode nodeToAppend)
 {
     nodeToAppend.Parent = node;
     node.LeftChild      = nodeToAppend;
 }