永发信息网

c++的算法问题

答案:2  悬赏:40  手机版
解决时间 2021-04-25 22:39

void createbtree(btreenode *&bt)
{
char item;
cin>>item;
if(item=='@') bt=NULL;
else {
bt=new btreenode;
bt->data=item;a
createbtree(bt->lchild);
createbtree(bt->rchild);
}

问一下bt->lchild它把这个值传给bt,但是bt->lchild里面没有值,只有随即值,它是把随即值传给bt吗???还有bt->lchild如果产生随即值的话,那么只要每产生一个节点,bt->lchild里就放着随即值,那么那些随即值会不会重复???

最佳答案

这随机值你不必担心,因为在createbtree()内又createbtree(bt->lchild);和createbtree(bt->rchild);,内部的bt=new btreenode或者bt=NULL就给父节点的lchild和rchild赋植了.


如果是VC,未初始化的变量一律有初值0xCC,其他的编译器有些是随机有些是0,是否重复没有什么意义,因为你不可能故意去利用这些随机值的.

全部回答

bt作为一个指针的引用类型传入函数时相当于一个指针的指针,他指向调用者已经分配出来的一个指针,或者是根节点,或者是叶节点。进入函数后就对这个指针指向的根节点或者叶节点赋值了,如果输入的是'@'就赋NULL,否则就是新创建的节点。并且继续为新创建的节点的左孩子和右孩子赋值。虽然节点被创建时这些孩子节点的初值是随机的,但会由递归调用将其赋一个空值或者创建一个孩子的。最后树创建结束时孩子节点中是没有随机值的,不是空(叶节点)就是下一级的孩子节点(中间的分支)。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
冒险岛拳手120以后去哪升级快
要能生子的网游,最好是3D的
诛仙2有任务叫独步风流,里面的风流三卷燕飞
cs下载安装后游戏内的文字显示不完全是什么原
在扬州买建材哪里比较便宜?
求数学好的,有英语基础的棒棒忙
新七月的第一天祝福语,第一天上班应该说什么
本人从开学到现在一直是霉气的,敢问重庆哪里
云南那里好玩??
我的机器人女友相关问题?看过的朋友都来说说
我在IS上面唱歌,别人听不到音乐声,怎么回事
电脑的摄像头最大像素有多大?
白日梦校花季总决赛
韩尚这个地址在什么地方,我要处理点事
谁能告诉我什么才是好问呢?
推荐资讯
月捐计划 图表点亮后会不会灭呢?
梦幻里什么等级刷战神最好
中国和美国之间隔的是大西洋还是太平洋?
米旗在什么地方啊,我要过去处理事情
人为什么会读书
什么工作好挣钱?
毕业后我该做什么?
鸿锦汽车配件在什么地方啊,我要过去处理事情
怎么样去掉脸上的疙瘩
CF怎样接到战队送的东西
为什么说“盘古开天地”?
七台河挖掘机哪个学校好
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?