C++二叉树的前序建立与前中后遍历
来源:互联网 发布:python源码剖析第二版 编辑:程序博客网 时间:2024/06/10 20:13
#include <iostream> using namespace std;struct BiTNode{ char data; struct BiTNode *lchild, *rchild;//左右孩子 };BiTNode*T;void CreateBiTree(BiTNode* &T);void Inorder(BiTNode* &T);void PreOrderTraverse(BiTNode* &T);void Posorder(BiTNode* &T);//===========================================主函数 int main(){ cout << "创建一颗树,其中A->Z字符代表树的数据,用“#”表示空树:" << endl; CreateBiTree(T); cout << "先序递归遍历:" << endl; PreOrderTraverse(T); cout << endl; cout << "中序递归遍历:" << endl; Inorder(T); cout << endl; cout << "后序递归遍历:" << endl; Posorder(T); cout << endl; return 1;}//=============================================先序递归创建二叉树树 void CreateBiTree(BiTNode* &T){ //按先序输入二叉树中结点的值(一个字符),空格字符代表空树, //构造二叉树表表示二叉树T。 char ch; if ((ch = getchar()) == '#') T = NULL;//其中getchar()为逐个读入标准库函数 else{ T = new BiTNode;//产生新的子树 T->data = ch;//由getchar()逐个读入来 CreateBiTree(T->lchild);//递归创建左子树 CreateBiTree(T->rchild);//递归创建右子树 }}//CreateTree //===============================================先序递归遍历二叉树 void PreOrderTraverse(BiTNode* &T){ //先序递归遍历二叉树 if (T){//当结点不为空的时候执行 cout << T->data; PreOrderTraverse(T->lchild);// PreOrderTraverse(T->rchild); } else cout << "";}//PreOrderTraverse //================================================中序遍历二叉树 void Inorder(BiTNode* &T){//中序递归遍历二叉树 if (T){//bt=null退层 Inorder(T->lchild);//中序遍历左子树 cout << T->data;//访问参数 Inorder(T->rchild);//中序遍历右子树 } else cout << "";}//Inorder //=================================================后序递归遍历二叉树 void Posorder(BiTNode* &T){ if (T){ Posorder(T->lchild);//后序递归遍历左子树 Posorder(T->rchild);//后序递归遍历右子树 cout << T->data;//访问根结点 } else cout << "";}
阅读全文
0 1
- C++二叉树的前序建立与前中后遍历
- 二叉树的建立与前、中、后、层次遍历
- c语言实现二叉树的建立与前序、中序、后序、层序遍历
- 【原创】二叉树的建立与遍历(前序遍历、中序遍历、后序遍历)
- 类似前序遍历 建立二叉树
- 二叉树建立及前序遍历
- 前序遍历建立二叉树
- 二叉树的建立和前序遍历
- 二叉树的建立与遍历(前序,中序,后序)
- c语言实现二叉树(BiNodeTree)的建立与先序遍历,中序遍历
- C++数据结构--二叉树的建立,前序遍历,中序遍历和后序遍历
- 二叉树的建立,前序遍历,中序遍历,后序遍历
- 二叉树的建立以及前序遍历、中序遍历、后序遍历
- 编程实现二叉树的建立,前序遍历,中序遍历和后续遍历
- 二叉树的建立与递归遍历C语言版
- (C++)二叉树的建立与递归方式遍历
- 线索二叉树的建立与遍历C/C++
- 根据前序遍历和后续遍历建立二叉树
- IP输入框-基于Jquery
- thinkphp+redis+队列
- LMS.Falancs.v2.13-ISO 1CD(疲劳寿命分析软件)
- Ubuntu下给U盘分区
- 利用SecureCRT在windows与linux服务器之间利用ftp进行文件的上传下载
- C++二叉树的前序建立与前中后遍历
- 微服务架构的理论基础
- “智趣相投”行业展示秀,庆科信息基于智能语音的机器人创新平台现场首秀
- 【zjoi2007】棋盘制作
- sql注入
- udp绑定信息
- Java中,&&与&,||与|的区别
- maven 多环境配置
- 优化代码空心菱形