回 帖 发 新 帖 刷新版面

主题:[讨论]如何查找二叉树的结点

求C语言实现的,
按遍历查找,从键盘输入X值,如果找到返回1,否则返回0

谢了。

回复列表 (共3个回复)

沙发

我给你个算法吧:
BTree* find(BTree *b,Elemtype x)//采用先序遍历查找x,b为树根,x为要查找元素
{                                //先序递归查找
    if(b==NULL)  return NULL;
    else if(b->data==x) return b;
    else
    {
        BTree *p=find(b->left,x);
            if(p!=NULL) return p;
            else
                return find(b->right,x);
    }
}

板凳

[quote]我给你个算法吧:
BTree* find(BTree *b,Elemtype x)//采用先序遍历查找x,b为树根,x为要查找元素
{                                //先序递归查找
    if(b==NULL)  return NULL;
    else if(b->data==x) return b;
    else
    {
        BTree *p=find(b->left,x);
            if(p!=NULL) return p;
            else
                return find(b->right,x);
    }
}[/quote]

好算法!!good!!

3 楼

好!果然是好!

我来回复

您尚未登录,请登录后再回复。点此登录或注册