繁体   English   中英

遍历二叉树

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM