首页 > 代码库 > 二叉树三序遍历

二叉树三序遍历

中序遍历:

//中序遍历非递归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;        }    }}

  

 

二叉树三序遍历