int BinTreeNumNode(const TNODE *root);
时间: 2023-08-16 15:03:33 浏览: 72
46家知名电子公司面试笔试试题大合集
`BinTreeNumNode` 函数的功能是计算给定二叉树的结点个数。下面给出函数的具体实现。
```c
int BinTreeNumNode(const TNODE *root) {
if (root == NULL) {
return 0;
}
return 1 + BinTreeNumNode(root->left) + BinTreeNumNode(root->right);
}
```
函数的参数是一个指向根节点的指针,返回值是结点的个数。如果根节点为空,则返回 0,否则,递归计算左右子树的结点个数,并加上根节点的 1,最终得到整棵树的结点个数。
可以通过如下代码进行测试:
```c
int main() {
// 构造一棵二叉树
TNODE *root = create_tree();
// 计算结点个数
int num = BinTreeNumNode(root);
// 输出结果
printf("The number of nodes is: %d\n", num);
// 释放内存
destroy_tree(root);
return 0;
}
```
阅读全文