33,010
社区成员
发帖
与我相关
我的任务
分享
bool TreeCompare(Tree lhs, Tree rhs)
{
if ((lhs == rhs) //地址一样或两者都为NULL时候,返回1,做终结条件
{
return true;
}
else if ((lhs != NULL) && (rhs != NULL))
{
if(lhs->data != rhs->data || lhs->size() !=rhs->size()) //树枝个数不同或data不同
return false;
bool flag=true;
for(int i=0;i<lhs->size();i++) //遍历递归
{
flag &=TreeCompare(lhs->branch[i],hls->branch[i]);
if(!flag) return false; //有不同的趁早退出
}
return true; //全相同
}
else
{
return false; //一个为NULL一个非NULL
}
}