有没有方法可以找到二叉搜索树中的元素数量?BST - 查找元素数量
struct node
{
node *p, *left, *right;
int key;
};
这是我的节点的结构,p指针指向父元素。
我需要找到这个数字将用于搜索树,并传回所有元素的数组分配内存。
我想出了这样的事情:
int numberOfElements(node *root, int count = 0)
{
if(root)
{
numberOfElements(root->left, ++count);
numberOfElements(root->right, ++count);
}
return count + 1;
}
但很好,它显示了一些随机的结果:P为 “1,2” 是显示器2,对于“1,2,3,4 ,5,6,7“它显示3等...
我想在一个函数内做到这一点,这就是为什么count是一个参数在这里。
我该怎么做?
记得按引用次数传递。 – stardust 2013-04-20 16:28:21
或保存返回值并将它们相加。 – Detheroc 2013-04-20 16:29:29
你似乎从你的函数中返回一些东西。我想知道这样的事情可能会有用。如果我们只能调用一个函数,然后以某种方式查看这个值,并且可能将其保存以供将来参考... – 2013-04-20 16:31:02