/**********
【题目】编写递归算法,将二叉树中所有结点的
左、右子树相互交换。
二叉链表类型定义:
typedef struct BiTNode {
TElemType data;
struct BiTNode *lchild, *rchild;
} BiTNode, *BiTree;
**********/
void swap(BiTree T){
BiTree t;
t=T->lchild;
T->lchild=T->rchild;
T->rchild=t;
}
void ExchangeSubTree(BiTree &T)
/* 将二叉树中所有结点的左、右子树相互交换 */
{
if(T==NULL)
return;
else {swap(T);
ExchangeSubTree(T->lchild);
ExchangeSubTree(T->rchild);
}
}