检测一下的类名有没有写正确?
这个图
想通了,递归调用实际上是一个嵌套循环,它需要一层一层的从内将每一个for循环执行完再跳出当前循环,直到跳到第一个for循环,并继续执行下去。这个时候nodeIndex=0,i=2,再在第一行寻找下一个点即D
广度优先遍历是一层一层的遍历,同层节点之间的输出顺序与矩阵的排列有关,也就是和一开始节点的输入顺序有关,但是同层节点的输出顺序并不是广度优先搜索的重点。
当然要是非按照固定的一种顺序,在输入节点的代码上写个排序就行了。
这是创建的对象指针,对象的周期结束后会自动释放内存
bool CMap::getValueFormMatrix(int row,int col,int&val)
{
if(row<0||row>=m_iCapacity)
{
return false;
}
if(col<0||row>=m_iCapacity)
{
return false;
}
val=m_PMatrix[row*m_iCapacity+row];
return true;
}
找到了 这个函数
你的是对的,老师的明显有错误,c和f是之间是没有通路的
我也遇到了类似问题,网上搜说是内存不足,当我把节点换成四个的时候,运行又是正常,多了就报错
getValueFromMatrix(preVec[i],i,value);
你这行代码写错了。。。不是preVec[i],而是j