《数据结构:邓俊辉版》——非递归中序遍历

template <typename T>
void NonRecursiveMidTraverse(CTreeNode<T>* pTreeNode)
{
    while (true)
    {
        while (pTreeNode)
        {
            g_stack.Push(pTreeNode);
            pTreeNode = pTreeNode->pLChild;
        }

        if (g_stack.IsEmpty())
        {
            break;
        }

        pTreeNode = g_stack.Pop();
        printf("Node:%d ", pTreeNode->nData);

        pTreeNode = pTreeNode->pRChild;
    }
}
相关文章
相关标签/搜索