怎么得到二叉树的父节点

BinTNode*Parent(BinTreeT,BinTNode*n){}... BinTNode* Parent(BinTree T, BinTNode* n)
{

}
展开
 我来答
匿名用户
推荐于2017-11-26
展开全部
那你定义节点的时候需要有指向父节点的指针
要不然就只有递归遍历找了
悠蓝天2
2015-05-01
知道答主
回答量:2
采纳率:0%
帮助的人:2631
展开全部
BinTNode* Parent(BinTree T, BinTNode* n) {
if (!T) return NULL;
if (T->lchild == n || T->rchild == n) {
return (T->lchild == n) ? T->lchild : T->rchild;
} else {
l_result = Parent(T->lchild, n);
r_result = Parent(T->rchild, n);
return l_result ? l_result : (r_result ? r_result : NULL);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-08
展开全部
void parent( *t){ //t为二叉树根节点
if(t){
if(t->lchild->data == a || t->rchild->data == a){ //a为需要查找的二叉树节点值
printf(t->data); //输出父节点
else
{
parent(t->lchild);
parent(t->rchild);
}
}
}}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-08
展开全部
用那个 递归方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式