📄 main.cpp
字号:
return NULL;
}
}
if(posy==SqureEdge-1)
{
if(temp[posx-1][posy]=='0')
{
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx,posy-1,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[0]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx+1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[1]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
if(pCurNode->pChildNode[0]==NULL&&pCurNode->pChildNode[1]==NULL)
pCurNode->isActive=false;
return NULL;
}
if(temp[posx][posy-1]=='0')
{
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx-1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[0]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx+1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[1]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
if(pCurNode->pChildNode[0]==NULL&&pCurNode->pChildNode[1]==NULL)
pCurNode->isActive=false;
return NULL;
}
if(temp[posx+1][posy]=='0')
{
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx-1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[0]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx,posy-1,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[1]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
if(pCurNode->pChildNode[0]==NULL&&pCurNode->pChildNode[1]==NULL)
pCurNode->isActive=false;
return NULL;
}
}
if(temp[posx-1][posy]=='0')
{
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx,posy+1,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[0]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx,posy-1,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[1]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx+1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[2]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
if(pCurNode->pChildNode[0]==NULL&&pCurNode->pChildNode[1]==NULL&&pCurNode->pChildNode[2]==NULL)
pCurNode->isActive=false;
return NULL;
}
if(temp[posx+1][posy]=='0')
{
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx,posy+1,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[0]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx,posy-1,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[1]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx-1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[2]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
if(pCurNode->pChildNode[0]==NULL&&pCurNode->pChildNode[1]==NULL&&pCurNode->pChildNode[2]==NULL)
pCurNode->isActive=false;
return NULL;
}
if(temp[posx][posy+1]=='0')
{
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx-1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[0]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx,posy-1,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[1]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx+1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[2]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
if(pCurNode->pChildNode[0]==NULL&&pCurNode->pChildNode[1]==NULL&&pCurNode->pChildNode[2]==NULL)
pCurNode->isActive=false;
return NULL;
}
if(temp[posx][posy-1]=='0')
{
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx,posy+1,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[0]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx-1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[1]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx+1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[2]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
if(pCurNode->pChildNode[0]==NULL&&pCurNode->pChildNode[1]==NULL&&pCurNode->pChildNode[2]==NULL)
pCurNode->isActive=false;
return NULL;
}
}
if(pParNode==NULL)
{
if (posx==0&&posy==0)
{
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx+1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[0]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx,posy+1,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[1]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
return NULL;
}
if (posx==0&&posy==SqureEdge-1)
{
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx,posy-1,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[0]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx+1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[1]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
return NULL;
}
if (posx==SqureEdge-1&&posy==SqureEdge-1)
{
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx,posy-1,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[0]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx-1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[1]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
return NULL;
}
if (posx==SqureEdge-1&&posy==0)
{
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx,posy+1,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[0]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx-1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[1]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
return NULL;
}
if(posx==0)
{
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx,posy+1,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[0]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx,posy-1,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[1]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx+1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[2]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
return NULL;
}
if(posy==0)
{
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx,posy+1,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[0]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx-1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[1]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx+1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[2]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
return NULL;
}
if(posx==SqureEdge-1)
{
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx,posy+1,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[0]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx-1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[1]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx,posy-1,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[2]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
return NULL;
}
if(posy==SqureEdge-1)
{
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx+1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[0]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx-1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[1]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx,posy-1,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[2]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
return NULL;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx+1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
{
pCurNode->pChildNode[0]=pChildTemp;
if(isExistedNode(pChildTemp,pNeighborTreeRootNode))
return pChildTemp;
}
pChildTemp=new NumNodeInfo;
InitNode(posx,posy,posx-1,posy,pCurNode,pChildTemp);
if(isExistedNode(pChildTemp,pSelfTreeRootNode))
delete pChildTemp;
else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -