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

从上往下打印二叉树

时间:2014-05-05 10:00:38      阅读:307      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   color   

要求:从上往下打印二叉树的每个结点,同一层的结点按照从左到右的顺序打印。

算法思想:每一次打印一个结点的时候,如果该结点有子结点,则把该结点的子结点放到一个队列的末尾。接下来到队列的头部取出最早进入队列的结点,重复前面的打印操作,直到队列中所有的结点都被打印出来为止。

bubuko.com,布布扣
1 struct BinaryTreeNode //节点
2 {
3     int m_nValue;
4     BinaryTreeNode* m_pLeft;
5     BinaryTreeNode* m_pRight;
6 };
bubuko.com,布布扣

 

bubuko.com,布布扣
 1 //////////////从上往下打印二叉树/////////////////////////
 2 void PrintFromTopToBottom(BinaryTreeNode* pTreeRoot)
 3 {
 4     if (pTreeRoot == NULL)
 5     {
 6         return;
 7     }
 8     list<BinaryTreeNode*> NodeData;
 9     NodeData.push_back(pTreeRoot);
10     BinaryTreeNode* pTemp = 0 ;
11     while (!NodeData.empty())
12     {
13         pTemp = NodeData.front();
14         NodeData.pop_front();
15         cout<<pTemp->m_nValue<<endl;
16         if (pTemp->m_pLeft)
17         {
18             NodeData.push_back(pTemp->m_pLeft);
19         }
20         if (pTemp->m_pRight)
21         {
22             NodeData.push_back(pTemp->m_pRight);
23         }    
24     }
25     
26 }
bubuko.com,布布扣

 

从上往下打印二叉树,布布扣,bubuko.com

从上往下打印二叉树

标签:style   blog   class   code   java   color   

原文地址:http://www.cnblogs.com/csxcode/p/3707833.html

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