基本上这下面的代码将检查两个不同的二叉树是否具有相同的整数成员。我应该这样做的方式是将树中的整数存储到数组,然后比较数组。比较两个二叉树
这里是把整数数组
private static int toarray (btNode t, int[] a, int i)
{
int num_nodes = 0;
if (t != null)
{
num_nodes = toarray (t.left , a , i);
a [num_nodes + i] = t.info;
num_nodes = num_nodes + i + toarray (t.right,a,num_nodes + i + 1);
}
return num_nodes;
}
下面的代码是检查两棵树是否相等的代码
public boolean equals(Intcoll6 obj)
{
boolean result = true;
if (how_many == obj.how_many)
{
int[]a = new int [how_many];
int[]b = new int [obj.how_many];
toarray (c,a,0);
toarray (obj.c,b,0);
for (int j = 0; j < how_many; j++)
{
if (a[j] == (b[j]))
{
result = true;
}
else
result = false;
}
}
else
{
result = false;
}
return result;
}
至今(出于显而易见的原因),它只有在树的长度不相等时才有效。我无法弄清楚代码有什么问题,所以任何建议都会有帮助。在此先感谢
好的,让我试试看 – GeneralPringles