二叉树互换左右孩子

2017-11-18  本文已影响0人  kiruma

/**********

【题目】编写递归算法,将二叉树中所有结点的

左、右子树相互交换。

二叉链表类型定义:

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

}

}

上一篇 下一篇

猜你喜欢

热点阅读