二叉树非递归遍历

Posted ymjyqsx

tags:

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

 void preOrder2(BinTree *root)     //非递归前序遍历 
 2 {
 3     stack<BinTree*> s;
 4     BinTree *p=root;
 5     while(p!=NULL||!s.empty())
 6     {
 7         while(p!=NULL)
 8         {
 9             cout<<p->data<<" ";
10             s.push(p);
11             p=p->lchild;
12         }
13         if(!s.empty())
14         {
15             p=s.top();
16             s.pop();
17             p=p->rchild;
18         }
19     }
20 }

https://www.cnblogs.com/SHERO-Vae/p/5800363.html

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

二叉树非递归遍历

创建二叉树非递归完成对二叉树的先序和后序遍历并遍历输出每一层的结点数查找结点P 和结点Q的最近共同祖先

二叉树非递归遍历

6)二叉树非递归遍历

遍历二叉树 非递归 JAVA 实现

重现二叉树非递归算法的构建过程