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

二叉树的递归遍历和非递归遍历的实现

时间:2014-11-25 12:15:17      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:ar   os   sp   bs   ef   算法   nbsp   return   br   

struct BinaryTreeNode
{
    int m_nValue;
    BinaryTreeNode *m_pLeft;
    BinaryTreeNode *m_pRight;
};

//递归实现二叉树的遍历。递归算法比较简洁易懂这一就不做解释

void Preorder(BinaryTreeNode *pRoot)
{
    if (pRoot == NULL)
    {
        return;
    }
    cout<<pRoot->m_nValue<<endl;
    Preorder(pRoot->m_pLeft);
    Preorder(pRoot->m_pRight);
}

void Inorder(BinaryTreeNode *pRoot)
{
    if (pRoot == NULL)
    {
        return;
    }
    Inorder(pRoot->m_pLeft);
    cout<<pRoot->m_nValue<<endl;
    Inorder(pRoot->m_pRight);
}

void Postorder(BinaryTreeNode *pRoot)
{
    if (pRoot == NULL)
    {
        return;
    }
    Postorder(pRoot->m_pLeft);
    Postorder(pRoot->m_pRight);
    cout<<pRoot->m_nValue<<endl;
}

 

//非递归遍历的实现。。。。。。。。。未完待续

二叉树的递归遍历和非递归遍历的实现

标签:ar   os   sp   bs   ef   算法   nbsp   return   br   

原文地址:http://www.cnblogs.com/Mr-Zhong/p/4120363.html

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