输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。
来源:互联网 发布:中国古代史网络课答案 编辑:程序博客网 时间:2024/05/17 08:32
思路
可以借助队列来实现,因为队列的特性是先进先出。可以从根结点,左结点,右结点依次入队列。然后再逐一输队首结点的值,即实现层次遍历。
#include <iostream>#include <queue>using namespace std;//二叉树结构typedef struct BinaryTreeNode { char m_chValue; BinaryTreeNode *m_pLChild;BinaryTreeNode *m_pRChild;}BiTree;//层次遍历二叉树void LayerTranverse(BiTree *pTree){if (NULL == pTree){return ;}BiTree *pTemp = NULL;queue<BiTree*> q;q.push(pTree);while (!q.empty()){pTemp = q.front();q.pop();cout<<pTemp->m_chValue<<endl;//先左子树入队列if (NULL != pTemp->m_pLChild){q.push(pTemp->m_pLChild);}//再右子树入队列if (NULL != pTemp->m_pRChild){q.push(pTemp->m_pRChild);}}}//先序创建二叉树BiTree *CreateBiTree(BiTree *pTree = NULL){char ch;cin>>ch;if ('#' == ch){pTree = NULL;}else{pTree = new BiTree;pTree->m_chValue = ch;pTree->m_pLChild = CreateBiTree(pTree->m_pLChild);pTree->m_pRChild = CreateBiTree(pTree->m_pRChild);}return pTree;}//先序遍历二叉树void TraverseTree(BiTree *root){if (NULL != root){cout<<root->m_chValue<<endl;TraverseTree(root->m_pLChild);TraverseTree(root->m_pRChild);}}int main(){BiTree *root = NULL;root = CreateBiTree();//TraverseTree(root);cout<<"层次遍历"<<endl;LayerTranverse(root);return 1;}
- 【练习】输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印
- 【算法】输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印
- 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。
- Np16、输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。
- 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印
- 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印(16)
- 题目:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。
- 算法习题16:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印
- 14. 微软面试题:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。
- 16题:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。
- 16 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。
- 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印
- 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印
- 微软算法100道题-----输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印
- 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印
- 每天学习一算法系列(16)(输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印)
- 输入一颗二元树,从上往下按层打印树的每个节点,同一层按照从左往右的顺序打印
- 输入一颗二元树,从上往下按层打印树的每个节点,同一层按照从左往右的顺序打印。
- How to known Android data connection reset? (socket side)
- GridView翻页时保持CheckBox选择状态
- 性能测试基础知识总结
- Android Dialog 设置
- Hibernate的Dao
- 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。
- 融资就像谈恋爱
- hadoop常用的命令大全
- VC中TRACE()的用法,终于学会了点皮毛,好累!
- 任务:委派任务
- 纯css画出的图形——html5
- 两种方法设计分类器
- java文件路径
- Google后Hadoop时代的新“三驾马车”——Caffeine、Pregel、Dremel