全局有效的数据结构

作者在 2017-04-28 16:22:36 发布以下内容

一开始我用的变量是局部的它的毛病就是所有的操作只能做一次,然后啥也没改变。

那么解决的一个方法就是 引用地址

引用地址使得全局有效

不说了


直接上上点代码

typedef struct TreeNode
{
char Element;
TreeNode *Left;
TreeNode *Right;
}*MyTree;

void Exchange(MyTree T)
{
if(T)
{
MyTree Temp=NULL;
if(T->Left||T->Right)
{
   Temp=T->Left;
   T->Left=T->Right;
   T->Right=Temp;
   Exchange(T->Left);
   Exchange(T->Right);
}
}
}
这个的交换二叉树左右节点,其实只是在局部变量改变而已

在主函数调用完之后呢,它的交换并没有实质意义


我记得c++里面有一个引用

引用可以解决这一毛病,也很简单


void Exchange(MyTree &T)   //就只是这里不同
{
if(T)
{
MyTree Temp=NULL;
if(T->Left||T->Right)
{
   Temp=T->Left;
   T->Left=T->Right;
   T->Right=Temp;
   Exchange(T->Left);
   Exchange(T->Right); 
}
}
}

c++基础 | 阅读 1250 次
文章评论,共0条
游客请输入验证码