面试常考手写代码之--二叉树层次遍历(BFS)

来源:互联网 发布:安知玉如意全文阅读 编辑:程序博客网 时间:2024/06/05 20:47

 

struct BTNode_s{

    int value;

    BTNode_s* pLeft;

    BTNode_s* pRight;

}BTNode;

void BFS(BTNode* pRoot)

{

    if(pRoot==NULL)

        return;

    std::deque<BTNode*> treeDeque;

    treeDeque.push_back(pRoot);

 

    while(!treeDeque.empty())

    {

        BTNode* pNode=treeDeque.front();

        printf("%d\t", pNode->value);

        

        if(pNode->pLeft!= NULL)

        {

            treeDeque.push_back(pNode->pLeft);

        }

 

        if(pNode->pRight!= NULL)

        {

            treeDeque.push_back(pNode->pRight);

        }

    }

}

原创粉丝点击