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

二叉树程序异常有关问题 急望高手赐教

2012-03-04 
二叉树程序错误问题 急……望高手赐教啊我的创建二叉树为什么建立不了呢voidBinTree::CreatNode(intdepth,Bi

二叉树程序错误问题 急……望高手赐教啊
我的创建二叉树为什么建立不了呢
void   BinTree::CreatNode(int   depth,BinTreeNode   *t)
{
if(depth> 0)
{
int   item;
cout < < "Please   input   the   data: " < <endl;
cin> > item;
t=new   BinTreeNode(item);
CreatNode(depth-1,t-> GetLeft());
CreatNode(depth-1,t-> GetRight());
}
}
depth为起深度

[解决办法]
你改变了t的值啊,t只是传递了数值,不会改变父节点的指针。
传入参数应该改为 BinTreeNode **t

*t=new BinTreeNode(item);
CreatNode(depth-1,&t-> GetLeft());
CreatNode(depth-1,&t-> GetRight());

[解决办法]
错了是
*t=new BinTreeNode(item);
CreatNode(depth-1,&((*t)-> GetLeft()));
CreatNode(depth-1,&((*t)-> GetRight()));

热点排行