首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

二叉树函数小纳闷~新手求问

2013-01-11 
二叉树函数小疑惑~~新手求问最近在写二叉树,很闹不明白这个函数,这个应该比较明白吧?就不解释了,问问为什

二叉树函数小疑惑~~新手求问
最近在写二叉树,很闹不明白这个函数,这个应该比较明白吧?就不解释了,问问为什么最后要把两个树的根节点为O呢?那样的话不是把那个指针指向的东西删除了?那新树怎么处理?不会找不到子树的地址?


void
BinaryTree::MakeTree(int element ,BinaryTree & left ,BinaryTree & right){

root = new BinaryTreeNode(element ,left.root ,right.root) ;
left.root = right.root = 0 ;

}

[解决办法]
我估计你看代码不完整。
这里只是初始化。

还没有创建节点。只是创建根节点。

所以不存在删除的问题。


[解决办法]
肿么会没人,我不是人吗>_<?

R=BinaryTreeNode(element ,A,B) .
这个函数应该是生成一个节点,然后把A置为该节点的左孩子,B置为该节点的右孩子.
然后A的root成员就不需要了,B的同理,因为可以根据R的左孩子,右孩子来找到A,B的地址.
[解决办法]
root = new BinaryTreeNode(element ,left.root ,right.root) ;
left.root = right.root = 0 ;


left.root和right.root怎么会是这个样子?root.left,root.right,不是这样的么??

热点排行