首页 文章

在java中从地面实现树类

提问于
浏览
0

我从头开始实现一个树类,我有数据字段和构造函数,如下所示:public class TreeNode实现Node {int data; TreeNode孩子; TreeNode父级;字符串名称;布尔访问;

public TreeNode(int data){
    this.data = data;
    child = null;
    parent = null;
    name = null;
    visited = false;
}

我需要实现的方法之一是getChildren(Node n),它返回一个包含Node n的所有子节点的列表 . 我不知道如何找到节点的所有子节点 . 谢谢您的帮助!

public List<Node> getChildren() {
    List<Node> children = new ArrayList<>();
    while(!children.contains(this.child)){
    children.add(this.child);}
    return children;
}

1 回答

  • 0

    您应该在类声明之外声明您的ArrayList,以便您可以在所有方法中使用它 . 然后,您需要一些方法将新的子节点添加到当前节点, addChild(Treenode child) 负责 .

    public class TreeNode {
    
        private ArrayList<TreeNode> children; 
    
        public TreeNode(int data){
            children = new ArrayList<>();        
        }
    
        public void addChild(TreeNode child){
            children.add(child);
        }
    
        public ArrayList<TreeNode> getChildren(){        
            return children;
        } 
    }
    

相关问题