二叉树交换左右子树问题
typedef struct BiTNode {
char data;
struct BiTNode *lchild,*rchild;
} BiTNode,*BiTree;
void exchange(BiTree t)
{BiTree p;
if (t!=NULL)
{p=t->lchild;
t->lchild=t->rchild;
t->rchild=p;
exchange(t->lchild);
exchange(t->rchild);
}
}
这个函数可以正常执行交换左右子树的操作,但是这里我想问一下,这里用值传递的方式而不是引用或者指向指针的指针方式为什么可以达到效果??个人觉得应该是void exchange(BiTree &t)