树中结点的数目
-定义功能:count(node)
·在node为根结点的树中统计结点的数目
int count(GTreeNode<T>* node) const
{
int ret = 0;
if(node != NULL)
{
ret = 1;
for(node->child.move(0);!node->child.end();node->child.next())
{
ret += count(node->child.current());
}
}
return ret;
}
树的高度
-定义功能:height(node)
·获取node为根结点的树的高度
int height(GTreeNode<T>* node) const
{
int ret = 0;
if(node != NULL)
{
for(node->child.move(0);!node->child.end();node->child.next())
{
int h = height(node->child.current());
if(ret < h)
{
ret = h;
}
}
ret = ret + 1;
}
return ret;
}
树的度数
-定义功能:degree(node)
·获取node为根结点的树的度数
int degree(GTreeNode<T>* node) const
{
int ret = 0;
if(node != NULL)
{
ret = node->child.length();
for(node->child.move(0);!node->child.end();node->child.next())
{
int d =degree(node->child.current());
if(ret < d)
{
ret = d;
}
}
}
return ret;
}