1、递归方法
void travel(Node *pNode)
{
if (pNode == Null)
{
return;
}
Deal(pNode);
for (int i=0 ;i<pNode->child_list.size(); i++)
{
Node *tmp = pNode->child_list[i];
travel(tmp);
}
}
2、非递归方法
void travel(Node *pNode)
{
stack stack;
stack.push(pNode);
Node *lpNode;
while(!stack.empty())
{
lpNode = stack.top();
stack.pop();
Deal(lpNode);
for (int i=0 ;i<pNode->child_list.size(); i++)
{
stack.push(pNode->child_lis[i]);
}
}
}