-1
我试图用静态根值和2个子节点为静态二叉树创建数据结构。我试图让它对任何数量的孩子价值都是动态的。我如何用静态根节点来做到这一点。如果我拿myArray = {3,11,8,18,21,36,1},我该如何执行。没有复杂代码更改的任何简单代码都会有所帮助。具有静态根节点的C#二叉树数据结构
class Program
{
static void Main(string[] args)
{
TreeNode rootNode = new TreeNode();
rootNode.value = 9;
int[] myArray = { 3, 11 };
for (int i = 0; i < myArray.Length; i++)
{
if (myArray[i] > rootNode.value)
{
//add to right node
TreeNode right = new TreeNode();
right.value = myArray[i];
rootNode.rightNode = right;
}
else
{
//add to left node
TreeNode left = new TreeNode();
left.value = myArray[i];
rootNode.leftNode = left;
}
}
}
}
class TreeNode
{
public int value { get; set; }
public TreeNode leftNode { get; set; }
public TreeNode rightNode { get; set; }
}
你想要什么样的二叉树? –
完整的二叉树 – Kurkula
完整的二叉树只有一个条件,即所有节点都有0或2个孩子。这意味着什么值将具有当前节点的后代子节点并不重要,但是您发布了这个'if(myArray [i]> rootNode.value)'。那么你确定你想要完整的二叉树,但完整的搜索二叉树吗? –