Advertisement

层序遍历(使用队列实现)

阅读量:
复制代码
    /*按层次遍历二叉树
     *经调试可运行源码及分析如下:
    ***/
    #include <stdlib.h>
    #include <iostream>
    #include <queue>
    
    using std::cout;
    using std::cin;
    using std::endl;
    using std::queue;
    
    /*二叉树结点定义*/
    typedef struct BTreeNode
    {
    char elem;
    struct BTreeNode *pleft;
    struct BTreeNode *pright;
    }BTreeNode;
    
    /*
    按层次遍历二叉树步骤: 
    第一步:借助队列,首先将根节点proot入队;
    第二步:当队列不空时,获得队首元素并出队,赋给proot,执行第三步;
    第三步:如果proot左节点存在,则入队;如果proot右节点存在,则入队;执行第二步。
    */
    
    /*按层次遍历二叉树*/
    void level_traverse(BTreeNode* proot)
    {
    if (proot == NULL)

全部评论 (0)

还没有任何评论哟~