单个Node <e>可以指向LinkedList吗?

时间:2018-02-17 20:43:24

标签: list tree

我目前正致力于构建具有预订结构的通用树。但是,由于我的树可以有多个子节点,我需要创建一个包含节点的列表,并使该内部节点指向下一个列表。 我想知道我是否可以在Java上构建这种结构 如果我能。我可以将单个节点定向到代码中的DoublyLinkedList结构吗?

这是我在Tree类中的Node类(代码分数)

class Tree<E> {
    //single node structure
    private static class Node <E> {
        private E e;
        private Node<E> parentNode;
        private LinkedNode<E> childList;

        public Node(E e, Node<E> p, LinkedNode<E> n) {
            this.e = e;
            this.parentNode = p;
            this.childList = n;
        }
    }

    //list structure to store nodes
    private static class  LinkedNode<E> { //<- problem1
        private Node<E> parentNode;
        private Node<E> nextSibling;
    }
    private E root;
    private int size = 0;
}

我的代码的问题是在LinkedNode部分我必须使对象类型为Node而不仅仅是E,否则它将不包含节点信息。那么,有什么办法可以做到这一点吗?

1 个答案:

答案 0 :(得分:0)

class Tree<E> {
    //root of the tree
    private Node root;
    //single node structure
    private static class Node <E> {
        //Store data of the node
        private E e;
        //store the child in an ArrayList
        //Each child will be represented by Class Node itself
        private ArrayList< Node<E> > childList;
    }
    private int size = 0;
}

我认为,您是否正在尝试实施通用树。这就是我将如何做到的。 干杯!