建树的时候出现了问题,好像是内存问题,求大神解决,急,在线等
如题,是不是哪里内存分配错误了
void tree(bintree T)
{
if(T->data == m||T->data <=0||T->data >=10000)
{
T->lchild = NULL;
T->mchild = NULL;
T->rchild = NULL;
return;
}
else
{
T->lchild = new bintnode;
T->lchild->data = T->data -1;
tree(T->lchild);
T->mchild = new bintnode;
T->mchild->data = T->data +1;
tree(T->mchild);
T->rchild = new bintnode;
T->rchild->data = T->data*2;
tree(T->rchild);
}
}
[解决办法]
刚才看错了,以为退出条件有一个是mchild,原来是data==m,那么这个更明显:
lchild->mchild->lchild->mchild->lchild->mchild...
永远不会满足(T->data == m
[解决办法]
T->data <=0
[解决办法]
T->data >=10000)