虚心请教各位,我写的这个按值来查找二叉树结点的函数,为什么返回的指针不是指向我要查找的那个结点啊?

论坛 期权论坛 期权     
匿名   2018-4-26 13:59   3128   1
BiTree Findpoint(BiTree T,char e)
{

if(T)
{
if(T->ch==e)
{

return T;
}
else
{
  if(T->lchild)
   point(T->lchild,e);

if(T->rchild )
   point(T->rchild,e);
}

return NULL;
}
}
谢谢
分享到 :
0 人收藏

1 个回复

倒序浏览
2#
网中雨蝶05  4级常客 | 2018-4-30 01:55:54 发帖IP地址来自
首先你的返回值是NULL,所以肯定返回的不是你想要的节点;
另外你用递归找的话应该写成如下样子:
BiTree*聽pElemnet聽 BiTree聽Findpoint(BiTree聽T,char聽e)
{
BiTree* BiTree Findpoint(BiTree T,char e)
{
if(T&&T->ch == e)
   return e;
if(T==NULL)
    return NULL;
if(T->lchild)
   return Findpoint(T->lchild,e);
else if(T->rchild )
   return Findpoint(T->rchild,e);
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:58388
帖子:6688
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP