遍历二叉树

时间:2013-04-03 17:37:16

标签: c# java

您好我还在学习C#并且正在尝试创建一个二叉树遍历的算法用于学习目的。我在Java中做了同样的事情,我设法让它工作。我需要知道我是否可以给出一个方法aa 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的参数,因为它无法解析symbole T.In Java我使用这种语法使它工作在Node n但是看起来C#中的语法不同

如果是这种情况,那么如何将我的curent类Node用作类型?

3 个答案:

答案 0 :(得分:2)

将静态方法放在类Node<T>中,它会起作用。在课外,它不知道T的意思。

答案 1 :(得分:2)

您需要在方法名称后添加<T>,因为它位于Node类之外。

 public static void InOrder<T>(List<T> n)
 {
 }

答案 2 :(得分:1)

您的方法需要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)
{
}