前序 中序 -》 后序 (字符型数组)
来源:互联网 发布:福建工程学院软件学院 编辑:程序博客网 时间:2024/06/05 19:33
#include<stdio.h>#include<iostream>#include<stack>#include<string.h>#include <queue>using namespace std;char before[100], in[100];struct Node{ Node* lchild; Node* rchild; char data; Node(){ //自带的构造函数 lchild = NULL; rchild = NULL; }};Node* build_tree(char before[], char in[], int length){ if(length == 0) return NULL; int pos = 0; while(in[pos] != before[0]){ pos++; } Node *temp = new Node(); //需要申请Node空间 temp -> data = before[0]; temp -> lchild = build_tree(before + 1, in, pos); temp -> rchild = build_tree(before + pos + 1, in + pos + 1, length - pos - 1); return temp;}void Traverse_Post(Node *root){ if(root ->lchild != NULL){ Traverse_Post(root ->lchild); } if(root ->rchild != NULL){ Traverse_Post(root ->rchild); } if(root != NULL) cout << root -> data;}int main(){ freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); int n; while(scanf("%s", before) != EOF){ //掌握输入输出的方法 输入字符串的时候 没有& scanf("%s", in); int L1 = strlen(before); //遇到'\0'截止 即输入的有效字符 (并不是指申请内存的长度) int L2 = strlen(in); //cout << L1 << " " << L2; Node * root = build_tree(before, in, strlen(before)); Traverse_Post(root); cout << endl; } return 0;}
阅读全文
0 0
- 前序 中序 -》 后序 (字符型数组)
- 前(中后)序表达式讲解
- 前、中、后缀表达式和前、中、后序遍历
- 前序、中序、后序遍历
- 前序+中序->后序
- 前序、中序和后序
- 前序、中序、后序表达式
- 前序、中序、后序遍历
- 前序,中序,后序问题
- 前序 中序 后序遍历
- 知道后/中序遍历,求前
- 树的前,中,后 序遍历
- 二叉树排序(前序、中序、后序)
- 二叉树遍历(前序,中序,后序)
- 二叉树遍历方式(前、中、后序)
- 由树的中序和后(前)
- 二叉排序树(插入操作与前、中、后序遍历)
- Binary Tree的前、中、后序遍历(recursion)
- Python标准模块——__future__
- 欢迎使用CSDN-markdown编辑器
- 反向传播算法入门资源索引
- CQOI珠宝
- 基于链表的时间片轮询程序结构
- 前序 中序 -》 后序 (字符型数组)
- Clion 2016.3.5 破解
- C#基础篇——线程(一)
- Machine Learning第九讲[异常检测] --(三)多元高斯分布(选学)
- DiscuzX3.3 隐藏主导航栏和顶部导航栏
- Neo4j实战-使用python语言操作neo4j数据库
- POJ3279_Fliptile_反转问题-2
- 1127 接水问题
- Qt 窗口置顶功能(高于QQ 的置顶效果)