部分高校使用anyview编程测试数据结构习题,此代码为数据结构题集(c语言版)严蔚敏版的课后习题答案.专门提供给在anyview上运行,全部为通告代码
源代码在线查看: 6.43.c
6.43③ 编写递归算法,将二叉树中所有结点的
左、右子树相互交换。
要求实现下列函数:
void Exchange(BiTree &bt);
/* Exchange the left and right leaves of */
/* bitree whose root node is bt */
二叉链表类型定义:
typedef struct BiTNode {
TElemType data;
BiTNode *lchild, *rchild;
} BiTNode, *BiTree;
void Exchange(BiTree &bt)
/* Exchange the left and right leaves of */
/* bitree whose root node is bt */
{
struct BiTNode *temp;
temp=bt->rchild;
bt->rchild=bt->lchild;
bt->lchild=temp;
if(bt->rchild) Exchange(bt->rchild);
if(bt->lchild) Exchange(bt->lchild);
}