1. 程式人生 > >劍指offer——面試題32:從上到下打印二叉樹

劍指offer——面試題32:從上到下打印二叉樹

lap onclick 分享圖片 creat pop pro lose show ret

技術分享圖片
void BFS(BinaryTreeNode* pRoot)
{
    if(pRoot==nullptr)
    {
        cout<<"empty binary tree!"<<endl;
        return;
    }
    queue<BinaryTreeNode*>pNode;
    pNode.push(pRoot);
    while(!pNode.empty())
    {
        BinaryTreeNode* pFront=pNode.front();
        pNode.pop();
        cout
<<pFront->m_Value<< ; if(pFront->m_pLeft!=nullptr) pNode.push(pFront->m_pLeft); if(pFront->m_pRight!=nullptr) pNode.push(pFront->m_pRight); } cout<<endl; }
函數 技術分享圖片
 1 #include"BinaryTree.h"
 2 
 3 void Test()
4 { 5 BFS(nullptr); 6 BinaryTreeNode* pNode1=CreateBinaryTreeNode(8); 7 BFS(pNode1); 8 BinaryTreeNode* pNode2=CreateBinaryTreeNode(6); 9 ConnectTreeNodes(pNode1,pNode2,nullptr); 10 BFS(pNode1); 11 ConnectTreeNodes(pNode1,nullptr,pNode2); 12 BFS(pNode1);
13 BinaryTreeNode* pNode3=CreateBinaryTreeNode(10); 14 ConnectTreeNodes(pNode1,pNode2,pNode3); 15 BFS(pNode1); 16 } 17 18 int main() 19 { 20 Test(); 21 return 0; 22 }
測試代碼

劍指offer——面試題32:從上到下打印二叉樹