多叉树的递归和非递归遍历

来源:互联网 发布:如何安装ai软件 编辑:程序博客网 时间:2024/05/21 06:57

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]);      }  }}


原创粉丝点击