回 帖 发 新 帖 刷新版面

主题:[讨论]关于二叉树

#include<iostream.h>
//树的存储结构
struct tree
{
    char data;
    struct tree*left;
    struct tree*right;
};
char ch;
//创建二叉树
int Create( tree * T)
{
    cin>>ch;
    if(ch=='#')
    {
        delete T;
        T=NULL;    //设定为空
        
    }
    else
    {
        T->data=ch;
        T->left=new tree;
        Create(T->left);
        T->right=new tree;
        Create(T->right);
    }
    return 1;
}


main()
{
    tree * root=new tree;
    Create(root);
    cout<<root->data<<"  "<<root->left->data<<"   "<<root->right->data<<endl;
    cout<<root->left->left<<"  "<<root->left->right<<"   "<<root->right->left<<"  "<<root->right->right<<endl;
    return 0;
}


我输入的是 a b # # c # #
我想问下为什么树的最后节点的left和right指针为什么不是空呢?

回复列表 (共3个回复)

沙发

形参与实参的问题嘛~~~
形参改变了 实参没有变
这里其实指针也是一种变量 相对于对指针的值操作 你传的是值 所以并没对实参造成影响

板凳

昨天一关机就想通了,不过还是谢谢楼上这位

3 楼

你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846

我来回复

您尚未登录,请登录后再回复。点此登录或注册