首页 > 其他 > 详细

非递归前序遍历二叉树

时间:2016-04-22 18:12:12      阅读:217      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!