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

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

猜你喜欢

转载自www.cnblogs.com/predator-wang/p/11802972.html