本文主要是介绍将二叉树中所有结点的左、右子树相互交换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
编写递归算法,将二叉树中所有结点的左、右子树相互交换。
二叉链表类型定义:
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 */
{BiTree temp;if(bt){temp = bt -> lchild;bt -> lchild = bt -> rchild;bt -> rchild = temp;Exchange(bt -> lchild);Exchange(bt -> rchild);}
}
这篇关于将二叉树中所有结点的左、右子树相互交换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!