将二叉树中所有结点的左、右子树相互交换

  • Post author:
  • Post category:其他


编写递归算法,将二叉树中所有结点的左、右子树相互交换。

二叉链表类型定义:

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);
    }
}



版权声明:本文为u013228403原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。