为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

3 回答

对呀,讲的是错的,根本没有考虑要插入的左右节点是否为空

0 回复 有任何疑惑可以回复我~

这边需要判断左节点和右节点是否为空么?

0 回复 有任何疑惑可以回复我~

//添加结点

bool Tree::AddNode(int nodeIndex,int direction,Node *pNode)

{

Node *temp=SearchNode(nodeIndex);

if(temp==NULL)

{

return false;

}

Node *node=new Node();

if(node==NULL)

{//申请内存失败

return false;

}

node->index=pNode->index;

node->data=pNode->data;

node->pParent=temp;//注意这里!!!!


if(direction==0)

{//插入到左边

temp->pLChild=node;

}

if(direction==1)

{//插入到右边

temp->pRChild=node;

}

return true;

}


1 回复 有任何疑惑可以回复我~
#1

京飞

请问为什么direction=0就是插入左节点啊?
2017-04-30 回复 有任何疑惑可以回复我~
#2

七月恋堇 回复 京飞

因为老师开始说了定义direction=0为左节点,direction=1为右结点。
2017-09-01 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于addNode

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信