实现通用树

Implementing General Tree

本文关键字:实现      更新时间:2023-10-16

我遇到了以下代码,尽管其他人提供了一些帮助,但我仍然难以理解。这段代码应该实现一个通用树。Single_List和Single_Node类也可用于实现。

        template <class Object>
        class General_tree {
            private:
                Object element;  // the stored in the node
                Single_list< General_tree<Object> * > children;
                    // a linked list of pointers to general trees
            public:
                Object retrieve() {
                    return element;
                }
                // ...
        };

有人能告诉我这个类的一个实例将由什么组成吗?

我认为它将包括

                           [element value in node made by Single_Node] -----> 
                             /                           next pointer (part of Single_list class)
                            / 
                           / children pointer to another such instance of General_Tree
                          V

然后这些实例可以组合起来形成一个树。。。我想我还是习惯了面向对象设计,所以请让我知道这个推理和解释是否正确?

谢谢!

树对象实际上是树中的一个节点,其中children指向下一级的节点,这些节点将具有指向子级等的指针。

它们一起形成一个子树(或者整个树,如果它是根节点的话)。