我想生成以下一般树:开展通识教育树使用链表数据结构
root
|
----------------
| |
child child
|
----
|
child
|
-------------
| | |
child child child
我打算用两个班,一个存储父节点元素(Tree类)和其他实现用于存储儿童的链接列表(Single_linked_list)。
Tree类的我的类定义是:
template <class Object>
class Tree
{
private:
Object node_val; // this is stored in node of tree
Single_linked_list< Tree<Object> * > children;
public:
// accessors and mutators
...
}
我只是想确认Single_linked_list< Tree<Object> * > children;
应该有它的*
因为在C++中是指定的方式,它是将一个指针,把linked_list的开头指向所有的孩子?
请让我知道,如果我对该行代码的解释是正确的。
这可能是好的。我可能会将类本身称为“节点”而不是“树”,因为每个对象实际上都是一个节点,而树是所有节点的集合。另外考虑存储'shared_ptr'的节点而不是原始的指针,因为当你实现任何类型的树操作时,你将为自己节省一个痛苦的世界。最后,单链表可以用C++ 0x作为''。 –
2011-06-14 19:59:41