2013-01-13 65 views
0
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; 
    } 

這是搜索的二叉搜索樹二叉搜索樹在C#中的搜索方法

方法調用一個整數將是一個方法:binary.Searchtree(binary.root, 2);

但它總是返回False,即使它打印Writeline。

+4

您需要返回遞歸調用'Searchtree'的結果。 –

+0

你是什麼意思? – Xten245

+0

換句話說:在你上面的當前代碼中,那些對'Searchtree'的遞歸調用的目的是什麼? –

回答

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; 
}