写这个类是配合GeneralTree这个类的。
这个类使用TreeNode基类继承而来。这里有一点要说明的。为了编程的方便,这里TreeNode中的成员属性均设置为Public
当然,如果有需求一遍写为protected。当然我这里是为了自娱自乐..所以没有在意太多。
TreeNode头文件详见http://blog.csdn.net/cctt_1/archive/2008/08/19/2794469.aspx
这个Node其实是二叉树的一种变形形式。它含有一个父指针,和一个孩子个数计数器。
virtual ~GeneralTreeNode()
{
childLength = 0;
parent = NULL;
}
};
查找它的各个孩子的任务交给了GeneralTree类来做,它的职能就是记录孩子节点的个数,并快速的查找到它的父节点可能上面那个网页的TreeNode.h文件由于以前是直接贴代码到CSDN上,所以可能现在不适合拷贝。
所以将TreeNode.h的代码在贴到下方:
// to do
}
T& getData()
{
return data;
}
void setData(T& data)
{
this->data = data;
}
TreeNode<T> * getLeft()
{
return left;
}
void setLeft(TreeNode<T> * left)
{
this->left = left;
}
TreeNode<T> * getRight()
{
return right;
}
void setRight(TreeNode<T>* right)
{
this->right = right;
}
};
#endif