有沒有方法可以找到二叉搜索樹中的元素數量?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