我想创建二进制搜索树并按顺序遍历树。我有以下代码:
public class BST {
static Node root;
public class Node{
int data;
Node left;
Node right;
Node(int data){
this.data = data;
left = null;
right = null;
}
Node(int data, Node left, Node right){
this.data = data;
this.left = left;
this.right = right;
}
}
public void inOrderTraversal(Node root){
if(root == null)
return;
inOrderTraversal(root.left);
System.out.println(root.data);
inOrderTraversal(root.right);
}
public static void main(String[] args) {
Node n1 = new Node(1);
}
}
我怎么不用这段代码创建节点n1:Node n1 = new Node(1);
我说msg说“没有封闭的InOrder类型的实例是可访问的。必须使用InOrder类型的封闭实例来限定分配(egxnew A()其中x是BST的一个实例。“有人可以解释一下我的错误在哪里以及我如何创建我的节点,分别是我的BST?
答案 0 :(得分:0)
只需将Node设为静态类:
public static class Node { ...