[英]Traversing a binary tree
嗨,我仍在学习C#,并尝试创建用于遍历学习的二叉树算法。我在Java中做了同样的事情,设法使其工作。我需要知道是否可以给Node的方法指定参数到目前为止,这是我所拥有的:
public class Node<T>
{
public Node<T> Left { get; set; }
public Node<T> Right { get; set; }
public T Data { get; set; }
}
public static void InOrder(Node<T> n)
{
}
问题出在InOrder参数上,它告诉我我无法传递Node的参数,因为它无法解析符号T。在Java中,我使用此语法使它可以在Node n上工作,但在C#中似乎语法不同。
如果是这种情况,那么如何使用当前的类Node作为类型?
将静态方法放在类Node<T>
,它将起作用。 在课外,不知道T意味着什么。
您需要在方法名称后附加<T>
,因为它在Node
类之外。
public static void InOrder<T>(List<T> n)
{
}
您将需要在方法上使用T类型,如下所示:
public class Node<T>
{
public Node<T> Left { get; set; }
public Node<T> Right { get; set; }
public T Data { get; set; }
}
public static void InOrder<T>(Node<T> n)
{
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.