仁兄知道T=new BiTNode;new是什么意思吗?
答案:2 悬赏:80 手机版
解决时间 2021-01-25 18:10
- 提问者网友:你给我的爱
- 2021-01-25 15:01
仁兄知道T=new BiTNode;new是什么意思吗?
最佳答案
- 五星知识达人网友:污到你湿
- 2021-01-25 16:30
new 就是新建的意思 意思就是 新建一个BiTNode类型的变量,而这个变量的名字是T追问void CreateBiTree(BiTree &T) {
int ch;
cin>>ch;
if (ch==-1) T = NULL;
else {
T=new BiTNode;
T->data = ch; // 生成根结点
CreateBiTree(T->lchild); // 构造左子树
CreateBiTree(T->rchild); // 构造右子树
}在这里新建有什么意识啊?貌似不用啊?追答为什么不用?没有节点 怎么生成树 树不是由节点组成的吗?
int ch;
cin>>ch;
if (ch==-1) T = NULL;
else {
T=new BiTNode;
T->data = ch; // 生成根结点
CreateBiTree(T->lchild); // 构造左子树
CreateBiTree(T->rchild); // 构造右子树
}在这里新建有什么意识啊?貌似不用啊?追答为什么不用?没有节点 怎么生成树 树不是由节点组成的吗?
全部回答
- 1楼网友:空山清雨
- 2021-01-25 17:10
看你的方法是创建一个树结构试图,
无返回值的CreateBiTree方法,参数为BiTree对象,
而参数BiTNode &T 这一步只是声明一个变量,
当满足if条件时,首先要将变量 T 实例化,
T=new BitNode; 是必须要有的!
否则当执行到 T->data=ch 时将会抛异常 “未将对象的引用设置到对象的实例”
只有当实例化BiTree对象,才能安全引用它的属性和方法
无返回值的CreateBiTree方法,参数为BiTree对象,
而参数BiTNode &T 这一步只是声明一个变量,
当满足if条件时,首先要将变量 T 实例化,
T=new BitNode; 是必须要有的!
否则当执行到 T->data=ch 时将会抛异常 “未将对象的引用设置到对象的实例”
只有当实例化BiTree对象,才能安全引用它的属性和方法
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯