码迷,mamicode.com
首页 > 其他好文 > 详细

非递归前序遍历二叉树

时间:2016-04-22 18:13:12      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:

void preOrder2(BinTree *root)     //非递归前序遍历
{
    stack<BinTree*> s;
    BinTree *p=root;
    while(p!=NULL||!s.empty())
    {
        while(p!=NULL)
        {
            cout<<p->data<<" ";
            s.push(p);
            p=p->lchild;
        }
        if(!s.empty())
        {
            p=s.top();
            s.pop();
            p=p->rchild;
        }
    }
}

二叉树的遍历深度优先遍历可以分为前、中、后序遍历,这里是以前序遍历为例,可以尝试遍历多叉树(非递归)

非递归前序遍历二叉树

标签:

原文地址:http://www.cnblogs.com/qiumingcheng/p/5422130.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!