输入:

abc##de#g##f###

输出:

c b e g d f a

代码:

#include <iostream>
#include <cstring>using namespace std;
string input;
struct node
{char data;node *lchild;node *rchild;
};void push(node * &root,int & index);
void inorderpop(node * root);int main()
{while(cin>>input){node * root=NULL;int index=0;push(root,index);inorderpop(root);cout<<endl;//必须是这个 不能return0}return 0;
}void push(node * &root,int & index)
{if(index>=input.length()) return;//输入为空情况if(input[index]=='#'){root=NULL;index++;}else{root=new node;root->data=input[index];index++;push(root->lchild,index);push(root->rchild,index);}
}void inorderpop(node * root)
{if(NULL==root) return;inorderpop(root->lchild);cout<<root->data<<" ";inorderpop(root->rchild);
}

代码参考:

https://www.cnblogs.com/xiongmao-cpp/p/6430108.html

  • cout表示向屏幕输出一个回车。 而return 0 or return 1 可用来标志函数的返回值,你可以用它来判断函数执行的情况.
    cout<<endl;几乎等于printf("\n"); return 0和return
    1如果是在main里面,意味着向操作系统返回一个调用该程序后的代码(可以用来表示错误信息),有时程序中不加它们,编译器会默默地为你加上它们的。

数据结构二叉树学习1-前序序列创建二叉树相关推荐

  1. 数据结构与算法实验 实验6:二叉树ADT的二叉链式实现 (由完全前序序列创建二叉树 / 求二叉树的节点数/树高/叶子节点数 /先序中序后序层序遍历)

    假设二叉数的数据元素为字符,采用二叉链式存储结构.请编码实现二叉树ADT,其中包括创建二叉树.遍历二叉树(深度.广度).求二叉树的深度(高度).计算二叉树的元素个数.计算二叉树的叶子数.二叉树的格式输 ...

  2. 扩展二叉树的中序序列创建二叉树?

    一.前言 我们都知道,任意一棵二叉树的前序序列.中序序列.后序序列都是唯一的.但是,反过来是否唯一对应呢?

  3. 利用二叉树先序遍历序列创建二叉树的算法

    根据C语言数据结构第六版课本算法5.3 void CreateBiTree(BiTree &T) { //算法5.3 按先序遍历输入二叉树中的节点的值//构造二叉链表表示的二叉树TTElemT ...

  4. 7-10 先序序列创建二叉树,输出先序序列、中序序列、后序序列并输出叶子结点数 (10 分)

    7-10 先序序列创建二叉树,输出先序序列.中序序列.后序序列并输出叶子结点数 (10 分) 对于给定的二叉树,输出其先序序列.中序序列.后序序列并输出叶子结点数. 输入格式: 二叉树的先序遍历序列. ...

  5. 由标明空子树的先序遍历序列创建二叉树

    由标明空子树的先序遍历序列创建二叉树 i=0 def createBiTree2(preOrder): # i为常数0 global i c = preOrder[i] # 取字符 if c != ' ...

  6. 二叉树的创建_【数据结构用python描述】python创建二叉树

    接下来一段时间小编会和大家一起学习数据结构用python描述. C/C++可以通过使用链表来创建二叉树,当然python也可以,但是现在的问题是 python没有指针和引用.C/C++创建链表二叉树需 ...

  7. 按照前序遍历创建二叉树及树的四种遍历方式

    一.二叉树的介绍 二叉树的特点是二叉树的每个结点的度都不大于2,可以视为每个结点都有左孩子和右孩子.故二叉树结点的数据结构为 二.二叉树的特点 1.设根结点所在的层数为第1层,则第i层最多有个结点. ...

  8. 先根序列创建二叉树c语言,用C语言创建二叉树并先序遍历.doc

    用C语言创建二叉树并先序遍历 用C语言创建二叉树并 #include "stdio.h" #include "stdlib.h" typedef struct ...

  9. 二叉树题目----4 前序遍历重构二叉树 AND 求二叉树中所有结点的个数

    前序遍历重构二叉树 思路 整个二叉树用数组存储 因为先序遍历它先遍历根,再遍历左,左边没有跑完是不会去遍历右边的,所以遍历左子树,就是数组元素每回向后一个,个数-1 遍历右边时,就是数组起始位置+左子 ...

  10. 按照层次序列创建二叉树,并判断二叉树是否为二叉搜索树

    首先定义树节点的数据结构,如下: struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; }; 两个函数,用 ...

最新文章

  1. 区块链技术背后的运行逻辑
  2. p750tm安装linux系统,Android 开发环境(虚拟机,LINUX, secureCRT)安装过程.pdf
  3. CodeForces - 577B Modulo Sum(dp+bitset优化)
  4. 微信小程序自定义组件,提示组件
  5. 输入法智能化发展历程
  6. 深入理解并行编程-分割和同步设计(四)
  7. ruby打印_Ruby程序打印一个数字的乘法表
  8. python 的err输出BaseException
  9. 判断点是否在多边形内部
  10. wow和scrollreveal动画
  11. vmware下安装mac os虚拟机问题,最后还是最终攻克了被一个小失误给陷害了
  12. 大数据技术生态体系(截图)
  13. java 极光推送_极光推送java实现
  14. matlab太阳系行星,Matlab动画模拟太阳系行星运动.doc
  15. java设置打印字体大小_PHP调整字体大小打印到网络热敏打印机
  16. html5 keygen 作用,html keygen标签怎么用
  17. 国际网页短信软件平台后台功能篇|移讯云短信系统开发
  18. c/c++使用数据库sqlite3
  19. 如果用某些暴力软件来强行卸载客户端结果会怎样?
  20. 管理扫描到计算机,复印机扫描到windows网络文件夹(scan to SMB)

热门文章

  1. 《SEM长尾搜索营销策略解密》一一2.1 起因:核心词成本过高
  2. 使用C语言写入word文档 C语言编程基础
  3. 夜神模拟器只有android5怎么办,夜神安卓模拟器很卡怎么办 夜神模拟器好卡解决方法...
  4. linux 日期、星期简写
  5. 简单粗暴理解与实现机器学习之聚类算法(四):模型评估、误差平方和SSE、“肘”方法 、轮廓系数法、CH系数
  6. 过去分词和动词过去式区别
  7. OpenCV单目平面测距
  8. mysql锁定某个库_mysql 表锁定,库锁定
  9. 微信公众号运营都有哪些渠道,来提升公众号的粉丝量
  10. android 2个 微信,手机挂2个微信可以吗?安卓手机挂2个微信以上教程