gpt4 book ai didi

c - 二叉树递归搜索c代码[不是二叉搜索树]

转载 作者:太空宇宙 更新时间:2023-11-04 05:41:53 26 4
gpt4 key购买 nike

我的代码的问题是,当搜索左子值时,由于递归级别,它返回并检查右子值。返回不正确。我找不到克服它的方法。

node * search(node *ptr,int key)
{
if(ptr->data==key)
return ptr;
else
{
if(ptr->lchild!='\0')
search(ptr->lchild,key);
else
return '\0';
if(ptr->rchild!='\0')
search(ptr->rchild,key);
else
return '\0';
}
}

最佳答案

大概是这样

node * search(node *ptr,int key)
{
node *pwk;
if(ptr == NULL) return NULL;
if(ptr->data==key)
return ptr;
if(NULL!=(pwk=search(ptr->lchild,key)))
return pwk;
if(NULL!=(pwk=search(ptr->rchild,key)))// or return search(ptr->rchild,key);
return pwk;
return NULL;
}

关于c - 二叉树递归搜索c代码[不是二叉搜索树],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16128999/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com