数据结构二叉树学习1-前序序列创建二叉树
输入:
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-前序序列创建二叉树相关推荐
- 数据结构与算法实验 实验6:二叉树ADT的二叉链式实现 (由完全前序序列创建二叉树 / 求二叉树的节点数/树高/叶子节点数 /先序中序后序层序遍历)
假设二叉数的数据元素为字符,采用二叉链式存储结构.请编码实现二叉树ADT,其中包括创建二叉树.遍历二叉树(深度.广度).求二叉树的深度(高度).计算二叉树的元素个数.计算二叉树的叶子数.二叉树的格式输 ...
- 扩展二叉树的中序序列创建二叉树?
一.前言 我们都知道,任意一棵二叉树的前序序列.中序序列.后序序列都是唯一的.但是,反过来是否唯一对应呢?
- 利用二叉树先序遍历序列创建二叉树的算法
根据C语言数据结构第六版课本算法5.3 void CreateBiTree(BiTree &T) { //算法5.3 按先序遍历输入二叉树中的节点的值//构造二叉链表表示的二叉树TTElemT ...
- 7-10 先序序列创建二叉树,输出先序序列、中序序列、后序序列并输出叶子结点数 (10 分)
7-10 先序序列创建二叉树,输出先序序列.中序序列.后序序列并输出叶子结点数 (10 分) 对于给定的二叉树,输出其先序序列.中序序列.后序序列并输出叶子结点数. 输入格式: 二叉树的先序遍历序列. ...
- 由标明空子树的先序遍历序列创建二叉树
由标明空子树的先序遍历序列创建二叉树 i=0 def createBiTree2(preOrder): # i为常数0 global i c = preOrder[i] # 取字符 if c != ' ...
- 二叉树的创建_【数据结构用python描述】python创建二叉树
接下来一段时间小编会和大家一起学习数据结构用python描述. C/C++可以通过使用链表来创建二叉树,当然python也可以,但是现在的问题是 python没有指针和引用.C/C++创建链表二叉树需 ...
- 按照前序遍历创建二叉树及树的四种遍历方式
一.二叉树的介绍 二叉树的特点是二叉树的每个结点的度都不大于2,可以视为每个结点都有左孩子和右孩子.故二叉树结点的数据结构为 二.二叉树的特点 1.设根结点所在的层数为第1层,则第i层最多有个结点. ...
- 先根序列创建二叉树c语言,用C语言创建二叉树并先序遍历.doc
用C语言创建二叉树并先序遍历 用C语言创建二叉树并 #include "stdio.h" #include "stdlib.h" typedef struct ...
- 二叉树题目----4 前序遍历重构二叉树 AND 求二叉树中所有结点的个数
前序遍历重构二叉树 思路 整个二叉树用数组存储 因为先序遍历它先遍历根,再遍历左,左边没有跑完是不会去遍历右边的,所以遍历左子树,就是数组元素每回向后一个,个数-1 遍历右边时,就是数组起始位置+左子 ...
- 按照层次序列创建二叉树,并判断二叉树是否为二叉搜索树
首先定义树节点的数据结构,如下: struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; }; 两个函数,用 ...
最新文章
- 区块链技术背后的运行逻辑
- p750tm安装linux系统,Android 开发环境(虚拟机,LINUX, secureCRT)安装过程.pdf
- CodeForces - 577B Modulo Sum(dp+bitset优化)
- 微信小程序自定义组件,提示组件
- 输入法智能化发展历程
- 深入理解并行编程-分割和同步设计(四)
- ruby打印_Ruby程序打印一个数字的乘法表
- python 的err输出BaseException
- 判断点是否在多边形内部
- wow和scrollreveal动画
- vmware下安装mac os虚拟机问题,最后还是最终攻克了被一个小失误给陷害了
- 大数据技术生态体系(截图)
- java 极光推送_极光推送java实现
- matlab太阳系行星,Matlab动画模拟太阳系行星运动.doc
- java设置打印字体大小_PHP调整字体大小打印到网络热敏打印机
- html5 keygen 作用,html keygen标签怎么用
- 国际网页短信软件平台后台功能篇|移讯云短信系统开发
- c/c++使用数据库sqlite3
- 如果用某些暴力软件来强行卸载客户端结果会怎样?
- 管理扫描到计算机,复印机扫描到windows网络文件夹(scan to SMB)
热门文章
- 《SEM长尾搜索营销策略解密》一一2.1 起因:核心词成本过高
- 使用C语言写入word文档 C语言编程基础
- 夜神模拟器只有android5怎么办,夜神安卓模拟器很卡怎么办 夜神模拟器好卡解决方法...
- linux 日期、星期简写
- 简单粗暴理解与实现机器学习之聚类算法(四):模型评估、误差平方和SSE、“肘”方法 、轮廓系数法、CH系数
- 过去分词和动词过去式区别
- OpenCV单目平面测距
- mysql锁定某个库_mysql 表锁定,库锁定
- 微信公众号运营都有哪些渠道,来提升公众号的粉丝量
- android 2个 微信,手机挂2个微信可以吗?安卓手机挂2个微信以上教程