读书人

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

发布时间: 2012-03-04 11:13:33 作者: rapoo

二叉树程序错误问题 急……望高手赐教啊
我的创建二叉树为什么建立不了呢
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()));

读书人网 >软件架构设计

热点推荐