标题:c++递归创建二叉树,有个参数看不懂(所发程序代码是正确的)
只看楼主
蓝天绿水
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:29
注 册:2017-9-16
结帖率:66.67%
已结贴  问题点数:20 回复次数:3 
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
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
BinTreeNode<Type>*& t
BinTreeNode<Type>*是个指针类型,BinTreeNode<Type>*& 是BinTreeNode<Type>*这个指针类型的引用
指针,引用 是C++最基础的知识,你得先找本C++数看看。

2017-11-06 08:21
蓝天绿水
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:29
注 册:2017-9-16
得分:0 
回复 2楼 rjsp
明白了,在创建二叉树中要改变root里面的值,所以不能用指针,指针只能改变指针所指向的值,但是不能改变指针本身
2017-11-07 19:46
cbbq
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-12-12
得分:0 
有什么好的方法自学成才嘛
2017-12-12 10:06



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




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

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