问答详情
源自:3-1 二叉树数组实现编码实战(一)

运行结果不一样(如图),求教大神?

请问我的运行结果为什么是这样的(如图)?代码检查跟老师一模一样的。

http://img.mukewang.com/5813556f00018d3f08990709.jpg

bool Tree::AddNode(int nodeIndex, int direction, int *pNode)
{
	if (nodeIndex < 0 || nodeIndex >= m_iSize)
	{
		return false;
	}
	if (m_pTree[nodeIndex] == 0)
	{
		return false;
	}
	if (direction = 0)//左孩子
	{
		if (nodeIndex * 2 + 1 >= m_iSize)
		{
		return false;
		}
		if (m_pTree[nodeIndex * 2 + 1] != 0)
		{
		return false;
		}
		m_pTree[nodeIndex * 2 + 1] = *pNode;
	}
	if (direction = 1)//右孩子
	{
		if (nodeIndex * 2 + 2 >= m_iSize)
		{
			return false;
		}
		if (m_pTree[nodeIndex * 2 + 2] != 0)
		{
			return false;
		}
		m_pTree[nodeIndex * 2 + 2] = *pNode;
	}
	return true;
}


提问者:风雨聆醉 2016-10-28 21:45

个回答

  • 慕数据6278204
    2018-04-08 20:25:41

    你的第七行语句,if(direction==0)出现了两个等号,这种编译器一般不会报错

  • mypollyanna
    2016-11-08 00:17:26

    if(direction == 0)两个等号

  • 风雨聆醉
    2016-10-28 21:46:10

    求解答,感激不尽。