///////////////////////////////////////////////////
//友元函数Equal()
//比较以a,b为根结点的二叉树是否相等
///////////////////////////////////////////////////
template<class T>
bool Equal(BinTreeNode<T>* a,BinTreeNode<T>* b)
{
//先比较子树的根结点
if(a==NULL && b==NULL)
return true;
//根结点相等而且左右子树递归相等
else if(a!=NULL && b!=NULL && a->data==b->data
&& Equal(a->leftChild,b->leftChild)
&& Equal(a->rightChild,b->rightChild))
{
return true;
}
else
//不相等就返回false
return false;
};
///////////////////////////友元函数Equanl()函数结束
//友元函数Equal()
//比较以a,b为根结点的二叉树是否相等
///////////////////////////////////////////////////
template<class T>
bool Equal(BinTreeNode<T>* a,BinTreeNode<T>* b)
{
//先比较子树的根结点
if(a==NULL && b==NULL)
return true;
//根结点相等而且左右子树递归相等
else if(a!=NULL && b!=NULL && a->data==b->data
&& Equal(a->leftChild,b->leftChild)
&& Equal(a->rightChild,b->rightChild))
{
return true;
}
else
//不相等就返回false
return false;
};
///////////////////////////友元函数Equanl()函数结束