原题不贴了,直接上代码

void CreateBiTree(BiTree &T)
{//按先序次序输入二叉树中结点的值(一个字符),创建二叉链表表示的二叉树TTElemType ch;//此处和教材的不同是,要处理多组数据,输入ch如果遇到EOF,应该结束程序//所以main函数用while(1)if(!(cin >> ch)) exit(0);/****在此下面完成代码***************/if(ch=='#')T=NULL;//依据题意为"#"代表为空树直接让这个节点为NULLelse//不是空树{T=new BiTNode;//让T指向一个空间储存数据T->data=ch;CreateBiTree(T->lchild);//先序遍历要求先根后左右子树,已经扫了根,则往左扫CreateBiTree(T->rchild);//扫完左树,接着扫右树}/***********************************/
}   //CreateBiTree//用算法5.1 中序遍历的递归算法
void InOrderTraverse(BiTree T)
{//中序遍历二叉树T的递归算法/****在此下面完成代码***************/if(T){InOrderTraverse(T->lchild);//中序遍历要求先扫左树再扫根接着扫右树cout<<T->data<<" ";InOrderTraverse(T->rchild);}/***********************************/
}void DestroyBitree(BiTree& T)
{/****在此下面完成代码***************/if(T){if(T->lchild)DestroyBitree(T->lchild);if(T->rchild)DestroyBitree(T->rchild);free(T);T=NULL;}/***********************************/
}
//跳出本题框架的的二叉树遍历,string版
#include<iostream>
#include<algorithm>
#include<map>
using namespace std;
typedef long long ll;
const int mod=1e9+7;
const int MAX=1e6+10;
string a;
struct tree
{char data;tree* l,* r;};
int ji;
void built(tree* &root)
{if(ji==a.size())return;char x=a[ji++];if(x=='#')root=NULL;else{root=new tree;root->data=x;built(root->l);built(root->r);}}
void zhongxv(tree *root)
{if(root){zhongxv(root->l);cout<<root->data<<" ";zhongxv(root->r);}}int main()
{while(cin>>a){ji=0;tree *root;built(root);zhongxv(root);cout<<endl;}
}

先去了解下什么是三序分别是什么再来做

HNUST-OJ-1803二叉树遍历1相关推荐

  1. 九度oj 题目1078:二叉树遍历

    题目1078:二叉树遍历 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5326 解决:3174 题目描述: 二叉树的前序.中序.后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历 ...

  2. python实现二叉树遍历(前序遍历、中序遍历、后序遍历)

    python实现二叉树遍历(前序遍历.中序遍历.后序遍历) 在计算机科学中,二叉树是一种树数据结构,其中每个节点最多有两个子节点,称为左子节点和右子节点.使用集合理论概念的递归定义是(非空)二叉树是元 ...

  3. 数据结构之二叉树(遍历、建立、深度)

    数据结构之二叉树(遍历.建立.深度) 1.二叉树的深度遍历 二叉树的遍历是指从根结点出发,按照某种次序依次访问二叉树的所有结点,使得每个结点被访问一次且仅被访问一次. 对于二叉树的深度遍历,有前序遍历 ...

  4. C#二叉树遍历算法实现浅析

    C#算法实现了二叉树的定义,怎么构造一颗已知的二叉树,用几种常规的算法(先序,中序,后序,层次)进行C#二叉树遍历.希望能给有需要人带来帮助,也希望能得到大家的指点.有关C#数据结构的书在书店里找到, ...

  5. 【关于封装的那些事】 缺失封装 【关于封装的那些事】 泄露的封装 【关于封装的那些事】 不充分的封装 【图解数据结构】二叉查找树 【图解数据结构】 二叉树遍历...

    [关于封装的那些事] 缺失封装 目录 - 缺失封装 为什么不能缺失封装? 缺失封装潜在的原因 未意识到关注点会不断变化 混合关注点 幼稚的设计决策 示例分析一 示例分析二 总结 缺失封装 没有将实现变 ...

  6. BinaryTreeTraversal(二叉树遍历)

    二叉树遍历 遍历命名 根据访问结点操作发生位置命名: ① NLR:前序遍历(Preorder Traversal 亦称(先序遍历)) --访问根结点的操作发生在遍历其左右子树之前. ② LNR:中序遍 ...

  7. l2-004 这是二叉搜索树吗?_LeetCode 例题精讲 | 11 二叉树转化为链表:二叉树遍历中的相邻结点...

    本期例题: LeetCode 98. Validate Binary Search Tree 验证二叉搜索树(Medium) LeetCode 426. Convert Binary Tree to ...

  8. 数据结构源码笔记(C语言):二叉树遍历

    //二叉树遍历 #include<stdio.h> #include<malloc.h> #include<malloc.h> #define MaxSize 10 ...

  9. 第九周项目实践3 利用二叉树遍历思想解决问题

    *Copyright (c)2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:邵雪源 *完成日期:2017年11月2日 *版 本 号:v1.0 ...

  10. 二叉树遍历算法的六种c语言实现 递归与非递归

    二叉树遍历分为三种: 先序遍历:先访问根结点,其次左节点,最后右节点 中序遍历:先访问左结点,其次跟节点,最后右节点 后序遍历:先访问左结点,其次右节点,最后根节点 三种遍历的递归算法实现形式类似,仅 ...

最新文章

  1. 专访云知声黄伟:场景定义芯片,未来所有场景都需要AI | AI名人堂
  2. Python中函数的参数传递方式
  3. FactoryBean的使用--转
  4. 【实验】小型网络WLAN架构实战案例
  5. 客房收费系统数据库设计
  6. POJ 1577 Falling Leaves(二叉查找树)
  7. 双路服务器单路运行,单路还是双路?看需求选择_机箱电源评测-中关村在线
  8. C++|Java混合实验-Spring Boot获取客户端操作系统,浏览器,Ip等信息,Qt端展示
  9. 为什么我不推荐你使用vue-cli创建脚手架?
  10. Service混合开启笔记(startService+bindService)
  11. JSONObject遍历
  12. 随机信号分析 matlab仿真实验,随机信号分析实验报告的(基于MATLAB语言).docx
  13. 360浏览器html文件无图标,电脑桌面360浏览器图标不见了解决方法图文教程
  14. css用网络图片做背景图片,网络编程css为图片设置背景图片
  15. 高性能核心板IDO-SOM3908-V1:接口丰富,性能更强,速度更快!
  16. Nerv - 京东高性能前端框架
  17. java打印直角三角形解析_编写java程序,打印3个5行直角三角形图案 运行效果如下: 使用 方法 实现 代码截图,必须含有2位学号+姓名_学小易找答案...
  18. 量化岗经典面试题——纸牌游戏
  19. 程序员知识体系探索:点、线、面、体
  20. 了解数据的发展历程--大数据简史

热门文章

  1. 计算机学院可以举办活动,计算机学院举办2019年家长开放日系列活动
  2. win10怎么更改账户名称_如何自定义WIN10登陆界面的用户名?
  3. 每日新闻 | 2018年全球十大IaaS服务商:中国占四席 阿里云第三
  4. WIN7/WIN10 临时及永久 强制关闭驱动签名验证
  5. 回顾腾讯电商路:马化腾之痛可否疗愈?
  6. Learning Typography for Video Editors 学习视频编辑的排版 Lynda课程中文字幕
  7. 稀疏矩阵CSR存储的C++实现
  8. Android开发五年,从月薪13K到年薪60W,我只用了三个月!
  9. 基于java web的在线考试系统(源码+论文)
  10. 华为5c_华为5c手机价格及产品参数配置【图文】