因此,我正在尝试搜索一个二进制树,该二进制树填充有一个Country存储为的节点中的对象T Data。该Country对象具有包含国家(地区countryName)名称的String变量,我想在文本框中搜索countryName并返回一个布尔值。因此它将遍历Country对象的二叉树,并将文本框字段中的值与进行匹配countryName。可以将对象的值分别存储在节点中,但是我宁愿使用泛型类型。以下是我的搜索方法。
public Boolean Contains(T item)
{
return contains(item, ref root);
}
private Boolean contains(T item, ref Node<T> tree)
{
if (tree != null)
{
if (item.CompareTo(tree.Data)==0)
{
Console.WriteLine("Found");
return true;
}
return contains(item, ref tree.Left) || contains(item, ref tree.Right);
}
else
{
return false;
}
}
和Node结构
public T Data;
public Node<T> Left;
public Node<T> Right;
public int balanceFactor;
public Node(T Data)
{
this.Data = Data;
Left = null;
Right = null;
}
相关分类