标题:c++递归创建二叉树,有个参数看不懂(所发程序代码是正确的)
取消只看楼主
蓝天绿水
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:29
注 册:2017-9-16
结帖率:66.67%
已结贴  问题点数:20 回复次数:1 
c++递归创建二叉树,有个参数看不懂(所发程序代码是正确的)
程序代码:
void CreateBinTree(BinTreeNode<Type> *&t)  //这个*&t表示什么意思啊,如果换成BinTreeNode<Type> *t或BinTreeNode<Type> &t,这个程序都是错的,为什么?
    {  
        Type Item;  
        cin>>Item;  
        if(Item == refvalue)  
            t = NULL;  
        else  
        {  
            t = new BinTreeNode<Type>(Item);  // 首先构造根节点  
            CreateBinTree(t->leftChild);      // 构造左孩子  
            CreateBinTree(t->rightChild);     // 构造右孩子  
        }  
    }  
搜索更多相关主题的帖子: c++ 代码 Type Item 构造 
2017-11-03 21:22
蓝天绿水
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:29
注 册:2017-9-16
得分:0 
回复 2楼 rjsp
明白了,在创建二叉树中要改变root里面的值,所以不能用指针,指针只能改变指针所指向的值,但是不能改变指针本身
2017-11-07 19:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-482095-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.081293 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved