二叉树三序遍历

Posted tc_goshawk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树三序遍历相关的知识,希望对你有一定的参考价值。

中序遍历:

//中序遍历非递归
void InOrder(Node* rt){
    InitStack(S);
    p = rt;
    while(p || !S.empty()){
        if(p){
            S.push(p); p = p->left;
        }else{
            p = S.top();
            S.pop();
            printf(p);
            p = p->right;
        }
    }
}

  

先序遍历:

//先序遍历非递归
void PreOrder(Node* rt){
    InitStack(S);
    p = rt;
    while(p || !S.empty()){
        if(p){
            printf(p); S.push(p); p = p->left;
        }else{
            p = S.top();
            S.pop();
            p = p->right;
        }
    }
}

  

 

以上是关于二叉树三序遍历的主要内容,如果未能解决你的问题,请参考以下文章

二叉树三种深度遍历方法和实现

二叉树三种遍历的非递归实现

二叉树三种遍历的非递归实现

对二叉树三种遍历的理解

二叉树三种遍历(先序,中序,后序)----超详细

二叉树三种遍历(先序,中序,后序)----超详细