这题要用队列去做,从根开始,往下层从左到右输出数据即可。

注意头文件加了一个queue 。

#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<queue>
using namespace std;typedef char TElemType;
//二叉树的二叉链表存储表示
typedef struct BiTNode
{TElemType data;                      //结点数据域struct BiTNode *lchild, *rchild; //左右孩子指针
} BiTNode, *BiTree;//先序建立二叉树
void CreateBiTree(BiTree &T)
{TElemType ch;if(!(cin >> ch)) exit(0);if(ch=='#')T=NULL;else{T=new BiTNode;T->data=ch;CreateBiTree(T->lchild);CreateBiTree(T->rchild);}}//层次遍历
void InOrderTraverse(BiTree T)
{queue<BiTree>a;//建立队列if(!T)return;else{a.push(T);//把第一个数据压入队列while(!a.empty()){cout<<" "<<a.front()->data;//读出队首T=a.front();//T要变为队首的值a.pop();//队首输出过了,出队列if(T->lchild)a.push(T->lchild);//左子树有值,压入队列if(T->rchild)a.push(T->rchild);//右子树有值,压入队列}}
}
//销毁树
void DestroyBitree(BiTree& T)
{if(!T)return ;else{if(T->lchild)DestroyBitree(T->lchild);if(T->rchild)DestroyBitree(T->rchild);delete T;T=NULL;}
}int main()
{BiTree tree;while(1){CreateBiTree(tree);InOrderTraverse(tree);cout << endl;DestroyBitree(tree);}
}

hnust 2186 C 层次遍历相关推荐

  1. 关于二叉树的层次遍历的花样(c++实现)

    花样变形1::二叉树层次遍历但是分层打印 分析:与普通打印多了一个分层打印,其实只要在在层次遍历中多设置一个标记变量即可 代码如下: //二叉树的层次遍历 void levelTravel(BTNod ...

  2. leetcode-102 二叉树的层次遍历

    给定一个二叉树,返回其按层次遍历的节点值. (即逐层地,从左到右访问所有节点). 例如: 给定二叉树: [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 返回其层 ...

  3. 二叉树的层次遍历 II

    给出一棵二叉树,返回其节点值从底向上的层次序遍历(按从叶节点所在层到根节点所在的层遍历,然后逐层从左往右遍历) 样例 给出一棵二叉树 {3,9,20,#,#,15,7}, 3/ \9 20/ \15 ...

  4. 【每日一算法】二叉树的层次遍历 II

    每日一算法-二叉树的层次遍历 II 题目 给定一个二叉树,返回其节点值自底向上的层次遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 给定二叉树 [3,9,20,null,n ...

  5. UVA122 树的层次遍历 Trees on the level(两种方法详解)

    UVA122 树的层次遍历 Trees on the level 输入: (11,LL) (7,LLL) (8,R) (5,) (4,L) (13,RL) (2,LLR) (1,RRR) (4,RR) ...

  6. 层次遍历二叉树(编程之美3.10)

    问题(假定根节点位于第0层) 1. 层次遍历二叉树(每层换行分开) 2. 层次遍历二叉树指定的某层 例如 上图中 1. 1 2 3 4 5 6 7 8 2. 第三层 7 8 可以看出得出第二问的解,第 ...

  7. Java 二叉树 前序_java实现二叉树前序中序后序层次遍历

    public class BinarySearhTree { // 属性 private TreeNode root; //根节点 private int size; public void add( ...

  8. leetcode102 二叉树的层次遍历

    题目: 给定一个二叉树,返回其按层次遍历的节点值. (即逐层地,从左到右访问所有节点). 例如: 给定二叉树: [3,9,20,null,null,15,7], 3/ \9 20/ \15 7 返回其 ...

  9. 【Leetcode】103. 二叉树的锯齿形层次遍历

    题目 给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 ...

最新文章

  1. Form 去掉使用格式掩码带来的多余字符
  2. 简明高效的 Java 并发编程学习指南
  3. python html模块调用_Python html 模块简介
  4. 【转】文本格式导入物料凭证模板
  5. 代理模式(为对象提供相同的接口)
  6. spring boot配置文件详解
  7. QT的QGraphicsPathItem类的使用
  8. C++STL与泛型编程 侯捷 (1)
  9. redis 客户端_你在使用什么 Redis 客户端工具?
  10. pytorch加载之前训练模型中的部分参数以及冻结部分参数(实测,自己实际项目代码中的)
  11. 【论文】Awesome Relation Extraction Paper(关系抽取)(PART IV)
  12. HTTP状态码介绍详细
  13. 毕设题目:Matlab数字信号调制
  14. 【语音识别】基于matlab GUI HMM 1~9数字语音识别(带面板)【含Matlab源码 1393期】
  15. QC1.0、QC2.0、QC3.0、QC4.0协议介绍
  16. 统计与分布之伯努利分布与二项分布
  17. Vim简介以及常用命令
  18. sdutOJ 查字典(Python)
  19. 现在开房都不需要在前台办理入住了?刺激
  20. 电子商务网站之购买欲望和购买目标

热门文章

  1. 【头部姿态】头部姿态检测(一)
  2. 中国手术标记笔市场趋势报告、技术动态创新及市场预测
  3. 8090后苦于创业的我们
  4. 工程伦理--13.4 临平净水厂化解“邻避效应”的对策
  5. html5移动端轮播图特效,支持移动端的纯js轮播图插件awesome-slider
  6. android中GridView设置间距
  7. 第十八篇:融汇贯通--谈USB Video Class驱动
  8. linux 锁屏 代码,Android锁屏与解屏相关代码分析
  9. 《人物》:计算机世界第一人——艾兰·图灵(转贴)
  10. 众筹之家9月股权众筹行业简报