二叉树建立及遍历 C++ 源码
#define _CRT_SECURE_NO_WARNINGS #include<iostream>
#include <stdlib.h> using namespace std; #define FRONT 1
#define MIDDLE 2
#define BACK 3 typedef struct BiNode {
char content;
struct BiNode *left;
struct BiNode *right;
}BiNode, *BiTree; void CreateBiTree(BiTree *T) {
char receive;
//scanf("%c", &receive);
cin >> receive;
if (receive == '*') {
// cout << "-";
*T = NULL;
}
else {
// cout << receive;
*T = (BiTree)malloc(sizeof(BiNode));
(*T)->content = receive;
CreateBiTree(&(*T)->left);
CreateBiTree(&(*T)->right);
}
} void show(BiTree *T, int TYPE) {
if (*T == NULL) {
cout << "*";
}
else {
switch (TYPE) {
case FRONT:
cout << (*T)->content ;
show(&(*T)->left, TYPE);
show(&(*T)->right, TYPE);
break;
case MIDDLE:
show(&(*T)->left, TYPE);
cout << (*T)->content;
show(&(*T)->right, TYPE);
break;
case BACK:
show(&(*T)->left, TYPE);
show(&(*T)->right, TYPE);
cout << (*T)->content;
break;
}
}
} int main() {
BiTree tree ;
CreateBiTree(&tree); cout << endl;
show(&tree, ); system("pause");
return ;
}
二叉树建立及遍历 C++ 源码的更多相关文章
- HashSet 添加/遍历元素源码分析
		
HashSet 类图 HashSet 简单说明 HashSet 实现了 Set 接口 HashSet 底层实际上是由 HashMap 实现的 public HashSet() { map = new ...
 - 二叉树建立,遍历和二叉排序树的判断【c++】
		
// test.cpp : Defines the entry point for the console application. // #include "stdafx.h" ...
 - 二叉树 - 建立与遍历使用Java
		
二叉树的遍历(traversing binary tree)是指从根节点出发,按照某种次序依次访问二叉树中所有节点,使得每个节点仅被访问一次 前序遍历:若二叉树为空,则空操作返回null.否则先访问根 ...
 - 面经手册 · 第4篇《HashMap数据插入、查找、删除、遍历,源码分析》
		
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 在上一章节我们讲解并用数据验证了,HashMap中的,散列表的实现.扰动函数.负载因 ...
 - Windows内核遍历驱动模块源码分析
		
要获取windows 内核中所有驱动模块信息,调用 系统服务函数 NtQuerySystemInformation,参数SystemInformationClass 传入SystemModuleInf ...
 - Linux下文件及目录的一些操作(附递归遍历目录源码)
		
1.获取当前工作目录 #include <unistd.h> 1.char *getcwd(char *buf,size_t size); 2. 3.其中,buf为缓冲区地址,size为给 ...
 - 转:【Java集合源码剖析】LinkedHashmap源码剖析
		
转载请注明出处:http://blog.csdn.net/ns_code/article/details/37867985 前言:有网友建议分析下LinkedHashMap的源码,于是花了一晚上时 ...
 - 【Java深入研究】2、JDK 1.8 LinkedList源码解析
		
LinkedList是一个实现了List接口和Deque接口的双端链表. 有关索引的操作可能从链表头开始遍历到链表尾部,也可能从尾部遍历到链表头部,这取决于看索引更靠近哪一端. LinkedList不 ...
 - CenOS6.5下源码安装vim-7.4
		
1.[下载] vim-7.4下载地址: ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2 2.[解压] tar jxvf vim-7.4.tar.bz2 之 ...
 
随机推荐
- 洛谷P1144最短路计数题解
			
最短路计数 此题还是寻找从1到i点总共有几个最短路且每条边的边长为1,对于这种寻找最短路的个数,我们可以反向搜索,即先用\(SPFA\)预处理出所有点的最短路,然后我们反向记忆化搜索,可以用\(sum ...
 - IDEA 简单的正则匹配
			
IDEA在进行查看或替换的时候,勾选Regex 选项就可以进行正则匹配查找了 几个简单实用的正则: 以什么开头,以什么结尾的字符串 以aa开头,以bb结尾的字符串aa.*bb 从开头到某个字符串为止的 ...
 - Linux 多网卡绑定bond
			
mode=0:负载均衡模式,增加带宽,两块网卡使用的是同一个MAC地址,所以必须配置网卡相连的交换机,这两个端口应采用聚合方式. mode=1:主备模式,一个线断了,另一条自动备援. mode=6:负 ...
 - Luogu P5316 【恋恋的数学题】
			
是个神仙题 就三种情况,分类讨论. \(k=2\): 因为保证有解,所以直接输出即可. \(k=3\): 由于对应情况可以枚举全排列寻找,所以在此只考虑顺序对应时的情况,不妨设六个数分别为\(g_{a ...
 - ajaxmin.exe 命令参数
			
这个工具用来压缩JS和CSS文件的,可去掉多余空格,换行,还修改函数名变得难以读取等. 下载这工具,下载之后是一个.msi文件可以安装.安装之后在命令行里操作即可 (下载地址和文档) http://a ...
 - luogu5010 HMR的LIS III (dp+线段树)
			
这个东西和最长上升子序列很像 考虑如果已经知道每个位置为开头的LIS长度和个数 f[i],我可以扫一遍 判断这个个数和K的大小,找到第一个长度=len而且个数<K的,这个位置就是要选的 然后K- ...
 - 牛客OI周赛7-提高组 B小睿睿的询问(ST打表)
			
链接:https://ac.nowcoder.com/acm/contest/371/B来源:牛客网 小睿睿的n个妹纸排成一排,每个妹纸有一个颜值val[i].有m个询问,对于每一个询问,小睿睿想知道 ...
 - Ocean的礼物(线段树单点修改)
			
题目链接:http://oj.ismdeep.com/contest/Problem?id=1284&pid=0 A: Ocean的礼物 Time Limit: 5 s Memory ...
 - react案例->新闻移动客户端--(react+redux+es6+webpack+es6的spa应用)
			
今天分享一个react应用,应在第一篇作品中说要做一个react+redux+xxx的应用.已经做完一部分,拿出来分享.github地址为:点我就可以咯~ 这里实现了一个新闻移动站的spa.本来想写p ...
 - Windows系统服务管理
			
1.用SC命令管理: 启动redis服务: C:\Users\Administrator>sc start redis 停止redis服务: C:\Users\Administrator> ...