作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/10/08 19:46:55
我写的这个按值来查找二叉树结点的函数,为什么返回的指针不是指向我要查找的那个结点啊?
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;
}
}
我写的这个按值来查找二叉树结点的函数,为什么返回的指针不是指向我要查找的那个结点啊?
首先你的返回值是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);
}