遍历二叉树的函数
Function to traverse a binary tree
我只是从树开始,正在编写一个遍历二叉树并访问每个节点的函数。我正在为树中的每个节点调用一个名为doSomething(TreeNode *thisNode)的函数。我想确定我所拥有的是否正确,并且我走在正确的轨道上?谢谢!
void MyTree::Traverse(TreeNode *rt)
{
If(rt != NULL)
Traverse(rt -> left);
doSomething (rt);
Traverse(rt -> right);
}
几乎,但不完全是。
C++ 中的 if
语句未大写,必须按如下方式添加括号:
void MyTree::Traverse(TreeNode *rt)
{
if(rt != NULL)
{
Traverse(rt -> left);
doSomething (rt);
Traverse(rt -> right);
}
}
如果不添加括号,则无论节点是否有效,都会调用语句 doSomething(rt)
和 Traverse(rt->right)
!
使用一些相关的测试用例调试程序总是一个好主意。在你的代码中,你认为如果 rt 不是 NULL 会发生什么?这应该可以帮助您确定自己是否做对了。
相关文章:
- 签入二叉树的函数是平衡C++
- 错误表达式必须是插入函数(二叉树 C++)中的可修改 Ivalue
- C++二叉树打印函数实现
- 查找二叉树的父节点函数
- 二叉树顺序遍历错误:没有用于调用的匹配函数
- 二叉树,构造函数
- 创建一个函数,该函数返回一个新的相同二叉树,并向所有预先存在的叶添加新节点
- 我试图证明一个给定的树是一个二进制搜索树.我将输入一个二叉树,我只想让函数返回true
- 二叉树搜索的实现和函数声明c++
- 为什么我的函数不返回计数?(二叉树)
- 随机二叉树中的插入函数
- 遍历二叉树的函数
- 二叉树无效函数
- 二叉树析构函数的递归调用
- 二叉树 - 复制构造函数
- 节点和二叉树构造函数和析构函数分段
- 二叉树的递归析构函数
- 如何在c++函数中构造二叉树并返回它?
- 二叉树getParent函数
- 函数用于检查二叉树是否为二叉搜索树或是否工作