设计程序,按先序创建二叉树的二叉链表;然后层序遍历二叉树。

输入格式:

按先序输入一棵二叉树。二叉树中每个结点的键值用字符表示,字符之间不含空格。注意空树信息也要提供,以#字符表示空树。

输出格式:

输出层序遍历二叉树的序列。序列中不含空格、不含#。

输入样例:

abc##d##e#f##

输出样例:

abecdf

代码示例如下:

#include<bits/stdc++.h>
#define lc tr[i].l
#define rc tr[i].r
#define tc tr[i].ch
using namespace std;
const int N = 1e6+100;
struct node{char ch;int l,r;
}tr[N];
int tot;
void build(int i){tc = getchar();if(tc=='#') return;build(lc=++tot);build(rc=++tot);
}
int main()
{build(++tot);queue<int> q;q.push(1);while(q.size()){int i=q.front();q.pop();if(tc=='#') continue;putchar(tc);q.push(lc); q.push(rc);}return 0;} 

7-1 层序遍历二叉链表相关推荐

  1. C++非递归算法遍历二叉链表

    递归的二叉链表遍历基于类自身函数的自我调用,而二叉链表的非递归操作,基于栈的入栈与弹栈.将中序遍历作为例子:指针访问到结点后,应先记住结点数值入栈,再往左边便利.假如指针为空,弹栈,最后将指针赋值给右 ...

  2. 二叉链表的建立和遍历 完整的前,中,后和层序建立和遍历

    前序,中序.后序.层序建立二叉链表. 无论看没看懂,都值得一看

  3. 二叉树的二叉链表存储结构构建以及先序遍历

    #include <stdio.h> #include <stdlib.h> #define OK 1 #define ERROR -1 typedef int TElemTy ...

  4. 数据结构-二叉链表的结构与实现

    目录 一.引言 二.什么是二叉链表 三.二叉链表的结构 四.二叉链表的实现 1. 创建二叉链表 2. 遍历二叉链表 3. 插入节点 4. 删除节点 五.应用场景 六.总结 七.代码示例 一.引言 数据 ...

  5. 数据结构C++边学边做--二叉树的实现(二叉链表实现遍历操作)

    二叉树的实现(二叉链表实现遍历操作) 一.二叉树的遍历 二.二叉链表的数据结构定义 三.二叉链表类实现 1.类声明 2.BiTree->构造函数:Create创建二叉链表 3.~BiTree-& ...

  6. 二叉链表-创建、遍历(前序、中序、后序、非递归、层次)、复制、计算深度、结点数、销毁(C语言)

    目录 二叉树的定义 二叉树的性质 二叉链表的基本操作 二叉链表的结构定义 前序遍历创建 前序.中序.后序遍历 中序遍历的非递归算法(栈) 层次遍历(队列) 复制二叉树 计算深度 计算总结点数与叶子结点 ...

  7. 数据结构:(翻转二叉树) 若二叉树采用二叉链表作存储结构,要交换其所有分支结点的左右子树的位置,采用()遍历方法最合适

    题目 若二叉树采用二叉链表作存储结构,要交换其所有分支结点的左右子树的位置,采用()遍历方法最合适?(北京航空航天大学1999,北京工业大学2016) A. 前序 B. 中序 C. 后序 D. 层次 ...

  8. C语言递归实现二叉树(二叉链表)的三种遍历和销毁操作(实验)

    今天写的是二叉树操作的实验,这个实验有三个部分: ①建立二叉树,采用二叉链表结构 ②先序.中序.后续遍历二叉树,输出节点值 ③销毁二叉树 二叉树的节点结构定义 typedef struct BiTNo ...

  9. 3004基于二叉链表的二叉树的双序遍历(附题意解释)

    描述 设二叉树中每个结点的元素均为一个字符,按先序遍历的顺序建立二叉链表,编写递归算法实现该二叉树的双序遍历(双序遍历是指对于二叉树的每一个结点来说,先访问这个结点,再按双序遍历它的左子树,然后再一次 ...

最新文章

  1. Druid 连接池 JDBCUtils 工具类的使用
  2. A轮股权学院:激活股权的力量,弄懂这些就够了
  3. react取消捕获_React学习笔记(三)
  4. PHP生成唯一会员卡号
  5. C#函数式编程之序列
  6. 使用spring集成的kafka收发消息
  7. virtualbox+vagrant学习-2(command cli)-7-vagrant login命令
  8. 基于Linux下 Oracle 备份策略(RMAN)
  9. HDU-1172 猜数字 广搜
  10. 使用Expression实现数据的任意字段过滤(1)
  11. phpcms v9 开发笔记
  12. 卸载HP LaserJet 激光打印机的驱动程序--Win7环境
  13. 【本周日城市沙龙】相约上海,共话互动媒体技术产品新趋势
  14. my python voyage
  15. MT62F2G64DAFL-031 WT:C内存芯片D8BLT
  16. 探索有趣的微观世界:微生物的种类、生存、应用
  17. 思维导图软件测评Draw、Gitmind、Xmind、Effie、Miro、Excalidraw
  18. 华为HCNA之WAN接入配置实验
  19. 爬虫学习笔记,从基础到部署。
  20. GVM(openVAS)中scan configs为空的问题解决

热门文章

  1. 操作系统--并发和并行
  2. 内存条相关参数查看方法
  3. 基于单片机的智能窗控制系统设计(电路+流程)
  4. MAC系统配置python环境变量
  5. 天天看高清播放器 开源了
  6. 基于 MindQuantum 实现对含有自定义量子门且损失函数涉及多个哈密顿量的量子线路的训练
  7. 【转载】从假装在腾讯,到真的360 —— 一个应届准PM的独白(面经干货)
  8. python下载pip脚本显示file_再见 virtualenv!K神教你轻松管理多个Python环境
  9. OpenCV - C++实战(04) — 简单的图像运算
  10. Hive中row_number()函数用法详解及示例