寻找二叉树中任意节点的父节点
现在我任意建立一棵二叉树,我要返回该二叉树中任意节点的父节点,用了一下递归算法,可是老是报错,该怎么解决呢?请大家指教,代码如下(确定其他部分正确):
LinkNode* BinTree::getParent(LinkNode* current,LinkNode* parent,bool flag=true)//返回current节点的父节点
{
if(parent==NULL || parent->Isleaf())
{
flag=false;
return NULL;
}
if(parent->getLChild()==current || parent->getRChild()==current)
{
return parent;
}
//返回值与递归的先后顺序有关,我该怎么解决呢?
else
{
getParent(current,parent->getRChild());
if(flag==false)
{
getParent(current,root->getLChild());
}
}
请大家帮忙给出一个可行的代码好吗?谢谢啦!
LinkNode* BinTree::getParent(LinkNode* current,LinkNode* parent,bool flag=true)//返回current节点的父节点
{
if(parent==NULL || parent->Isleaf())
{
flag=false;
return NULL;
}
if(parent->getLChild()==current || parent->getRChild()==current)
{
return parent;
}
//返回值与递归的先后顺序有关,我该怎么解决呢?
else
{
getParent(current,parent->getRChild());
if(flag==false)
{
getParent(current,root->getLChild());
}
}
请大家帮忙给出一个可行的代码好吗?谢谢啦!
...全文
相关推荐
C++实现寻找最低公共父节点的方法
主要介绍了C++实现寻找最低公共父节点的方法,是数据结构中二叉树的一个经典算法,有一定的借鉴价值,需要的朋友可以参考下
数据结构C语言版_二叉树的顺序存储表示和实现
二叉树的顺序存储表示和实现、自己写的、觉得应该有用吧、、
二叉树最近公共祖先算法[可运行源码]
本文介绍了一个关于在二叉树中寻找两个结点的最近公共祖先的算法。题目要求输入为二叉树的先序序列和两个结点值,输出这两个结点的最近公共祖先。文章详细描述了输入输出格式,并提供了完整的C++代码实现。代码通过构建二叉树、遍历结点并记录父结点信息,最终找到两个结点的公共祖先。该算法适用于结点值互不相等且不为0的二叉树结构,能够有效解决最近公共祖先问题。
二叉树演示软件
本人在学习过程中编写的一个二叉树演示软件,功能齐全,但是逻辑还不是很清晰,可以拿来演示教学使用、自己学习使用。有需要代码的发邮件到447861996@qq.com 提供代码。可以进一步完善~~
数据结构中的树与二叉树课件
本文主要介绍树和二叉树的定义、性质、存储形式以及树和二叉树的遍历,同时,还介绍了树、森林和二叉树之间的转换以及线索二叉树和哈夫曼树的相关知识。读者要重点掌握二叉树的基本性质、二叉树的遍历操作、树和森林的遍历、哈夫曼树的有关概念和算法。


新手乐园

