C++BiTree的用法,二叉树创建问题

这个BiTree到底是什么?在一个二叉树创建的算法中看见typedefstructbitnode{intdata;structbitnode*lchild,*rchild... 这个BiTree到底是什么?在一个二叉树创建的算法中看见
typedefstruct bitnode{
int data;
struct bitnode *lchild,*rchild;
}*bitree,tree;

bitree *t;
这样的语句,开始还以为是定义了一个指向结构体bitnode的指针*bitree和一个结构体变量tree,
但是下面bitree *t; ,bitree不是一个指向结构体bitnode的指针变量吗,怎么可以座位数据类型再定义一个指针。这个BiTree到底是什么?
还有void createbitree(bitree &t,int c)这是一个创建二叉树的函数,但是形参那里bitree &t 这是什么意思
展开
 我来答
巴扎嘿v5
2013-05-11 · TA获得超过308个赞
知道小有建树答主
回答量:138
采纳率:0%
帮助的人:166万
展开全部
你要看清楚啊,定义的前面还有一个typedef呢!这是定义类型。

等价于
struct bitnode{
int data;
struct bitnode *lchild,*rchild;
};

typedef bitnode* bitree;

bitree不是变量,是类型。
追问
那就是说后面那个tree也是定义类型bitnode咯?
追答
是的,两个都是类型,一个表示的是bitnode*类型。另一个表示的是bitnode类型

#include
#include
#include
using namespace std;

typedef struct bitnode{
int data;
struct bitnode *lchild,*rchild;
}*bitree,tree;

int main(int argc, char *argv[])
{
bitree t=new bitnode;//bitree是类型,表示的是bitnode*类型。
t->data=1;
t->lchild=0;
t->rchild=0;
tree s;//tree是类型,表示的是bitnode类型
s.data=1;
s.lchild=0;
s.rchild=0;
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式