sdut oj3341 数据结构实验之二叉树二:遍历二叉树
来源:互联网 发布:怎么查询计算机端口号 编辑:程序博客网 时间:2024/05/15 12:03
题目链接:点击打开链接
数据结构实验之二叉树二:遍历二叉树
Time Limit: 1000MS Memory limit: 65536K
题目描述
已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并按中序和后序的方式遍历该二叉树。
输入
连续输入多组数据,每组数据输入一个长度小于50个字符的字符串。
输出
每组输入数据对应输出2行:
第1行输出中序遍历序列;
第2行输出后序遍历序列。
示例输入
abc,,de,g,,f,,,
示例输出
cbegdfacgefdba
代码实现:
#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>using namespace std;typedef char element;typedef struct node{ element data; struct node *lchild,*rchild;} Tree;Tree *T;int i;char s[110];Tree *Creat(Tree *T)///建树{ if(s[i++] == ',') T = NULL; else { T = new Tree; T->data = s[i-1]; T->lchild = Creat(T->lchild);///左子树 T->rchild = Creat(T->rchild);///右子树 } return T;}void Inorder(Tree *T)///中序遍历{ if(T != NULL) { Inorder(T->lchild); printf("%c",T->data); Inorder(T->rchild); }}void Postorder(Tree *T)///后序遍历{ if(T != NULL) { Postorder(T->lchild); Postorder(T->rchild); printf("%c",T->data); }}int main(){ while(~scanf("%s",s)) { i = 0; Tree *P; P = Creat(T); Inorder(P); printf("\n"); Postorder(P); printf("\n"); } return 0;}
0 0
- sdut oj3341 数据结构实验之二叉树二:遍历二叉树
- SDUT-数据结构实验之二叉树二:遍历二叉树
- [SDUT](3341)数据结构实验之二叉树二:遍历二叉树 ---- 二叉树
- SDUT OJ 数据结构实验之二叉树二:遍历二叉树
- SDUT 3341数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树 (sdut OJ 3341)
- SDUT OJ 数据结构实验之二叉树二:遍历二叉树
- sdut 3341数据结构实验之二叉树二:遍历二叉树
- SDUT 3341 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树的建立与遍历 SDUT
- SDUT-数据结构实验之二叉树的建立与遍历
- SDUT 数据结构实验之查找二:平衡二叉树
- SDUT 3374 数据结构实验之查找二:平衡二叉树
- sdut oj3374 数据结构实验之查找二:平衡二叉树
- SDUT 3374 数据结构实验之查找二:平衡二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.
- 软件测试
- 卡特兰数相关问题总结
- 获取 jquery 版本号
- Linux gcc编译提示:undefined reference to `sqrtf' collect2: error: ld returned 1 exit status
- sdut oj3341 数据结构实验之二叉树二:遍历二叉树
- ios setNeedsDisplay和setNeedsLayout的区别与用处
- 1041. Be Unique (20)-PAT甲级真题(Hash散列)
- 数据结构实验之二叉树的建立与遍历
- libevent例子--HTTP 服务器
- 输出CString
- 多表查询,嵌套查询
- hdu 2089 不要62(数位dp)
- Linux修改Tmpfs