我正在实现一个具有一些二进制树的C#程序。
我可以使用Visual Studio中的一些插件进行调试吗?
我需要它在运行时绘制树。
最佳答案
这是一个简单的二叉树,具有将其转换为字符串表示形式的方法。您可能拥有自己的二叉树类,但是您可以对此使用相同的通用算法。
在这里,我使用一个选项卡来分隔每个节点。如果每个节点的内容的ToString
大于8(?)字符,则可能需要使用更多的空格,多个制表符或在每个节点的字符串开头添加一些字符来帮助您。可视化它。
public class Node<T>
{
public T Data { get; set; }
public Node<T> Left { get; set; }
public Node<T> Right { get; set; }
public string displayNode()
{
StringBuilder output = new StringBuilder();
displayNode(output, 0);
return output.ToString();
}
private void displayNode(StringBuilder output, int depth)
{
if (Right != null)
Right.displayNode(output, depth+1);
output.Append('\t', depth);
output.AppendLine(Data.ToString());
if (Left != null)
Left.displayNode(output, depth+1);
}
}
然后实际使用它:
Node<string> root = new Node<string>() { Data = "root" };
root.Left = new Node<string>() { Data = "1" };
root.Right = new Node<string>() { Data = "2" };
root.Left.Left = new Node<string>() { Data = "3" };
root.Left.Right = new Node<string>() { Data = "4" };
Console.WriteLine(root.displayNode());
关于c# - 在VS中可视化二叉树,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11653204/