将整个树移动到其leftChild并将新树分配给rightChild并更改根节点

时间:2014-03-12 15:34:57

标签: c# tree

我创建了一个树,但现在(在代码中),我想将整个树移动到它的leftChild并为rightChild分配一个新树并更改根节点! 如下图所示:

enter image description here

在C#中,如果可能的话。

1 个答案:

答案 0 :(得分:3)

从你的图片中我猜你正在制作一棵二叉树。所有的树都是在你到达它时是一系列节点。

假设你有一个像这样的节点类。

public class MyBinaryNode
{

    MyBinaryNode LeftChild;
    MyBinaryNode RightChild;

    MyBinaryNode() 
    {
        LeftChild = null;
        RightChild = null;
    }
    MyBinaryNode(MyBinaryNode leftChild, MyBinaryNode rightChild)
    {
        LeftChild = leftChild;
        RightChild = rightChild;
    }
}

所有你需要做的就是这样;

MyBinaryNode B = new MyBinaryNode();
MyBinaryNode C = new MyBinaryNode();

MyBinaryNode A = new MyBinaryNode(B,C); //This is your current tree

MyBinaryNode E = new MyBinaryNode();
MyBinaryNode D = new MyBinaryNode(A,E); //This is how you make the one in your Image