C#搜索方法中的二叉搜索树

时间:2013-01-13 02:54:25

标签: c# data-structures binary-search-tree

public bool Searchtree(Node root, int target)
    {
        if (root == null) return false;

        else if (target < root.data)
            Searchtree(root.left, target);

        else if (target > root.data)
            Searchtree(root.right, target);

        if (target == root.data)
        {
            //Console.WriteLine("Found: "+root.data);
            return true;
        }

        else
            return false;
    }

这是一种在二进制搜索树中搜索整数的方法

方法调用将是:binary.Searchtree(binary.root, 2);

但它始终返回False,即使它打印了Writeline。

1 个答案:

答案 0 :(得分:3)

将调用结果返回给Searchtree:

public bool Searchtree(Node root, int target)
{
    if (root == null)
        return false;
    else if (target < root.data)
        return Searchtree(root.left, target);
    else if (target > root.data)
        return Searchtree(root.right, target);

    return true;
}