SDUT 3341 数据结构实验之二叉树二:遍历二叉树
来源:互联网 发布:java使用zookeeper 编辑:程序博客网 时间:2024/05/16 02:03
数据结构实验之二叉树二:遍历二叉树
Time Limit: 1000MS Memory Limit: 65536KB
SubmitStatistic Discuss
Problem Description
已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并按中序和后序的方式遍历该二叉树。
Input
连续输入多组数据,每组数据输入一个长度小于50个字符的字符串。
Output
每组输入数据对应输出2行:
第1行输出中序遍历序列;
第2行输出后序遍历序列。
Example Input
abc,,de,g,,f,,,
Example Output
cbegdfa
cgefdba
Hint
#include<cstdio>#include<cstring>#include<cstdlib>using namespace std;typedef struct node{ char data; struct node *l; struct node *r;}BTNode;int cnt;char bt[55];BTNode *Creat(){ BTNode *root; if(bt[++cnt]==',') root=NULL; else { root=(BTNode *)malloc(sizeof(BTNode)); root->data=bt[cnt]; root->l=Creat(); root->r=Creat(); } return root;}void Inorder(BTNode *root){ if(root!=NULL) { Inorder(root->l); printf("%c",root->data); Inorder(root->r); }}void Postorder(BTNode *root){ if(root!=NULL) { Postorder(root->l); Postorder(root->r); printf("%c",root->data); }}int main(){ while(~scanf("%s",bt)) { cnt=-1; BTNode *root; root=(BTNode *)malloc(sizeof(BTNode)); root=Creat(); Inorder(root); printf("\n"); Postorder(root); printf("\n"); } return 0;}
阅读全文
0 0
- SDUT-数据结构实验之二叉树二:遍历二叉树
- [SDUT](3341)数据结构实验之二叉树二:遍历二叉树 ---- 二叉树
- SDUT 3341数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树 (sdut OJ 3341)
- sdut 3341数据结构实验之二叉树二:遍历二叉树
- SDUT 3341 数据结构实验之二叉树二:遍历二叉树
- SDUT OJ 数据结构实验之二叉树二:遍历二叉树
- sdut oj3341 数据结构实验之二叉树二:遍历二叉树
- SDUT OJ 数据结构实验之二叉树二:遍历二叉树
- 3341数据结构实验之二叉树二:遍历二叉树
- 3341 数据结构实验之二叉树二:遍历二叉树
- 3341数据结构实验之二叉树二:遍历二叉树
- 3341 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树的建立与遍历 SDUT
- SDUT-数据结构实验之二叉树的建立与遍历
- SDUT 数据结构实验之查找二:平衡二叉树
- SDUT 3374 数据结构实验之查找二:平衡二叉树
- sdut oj3374 数据结构实验之查找二:平衡二叉树
- Android-Spinner的使用以及两种适配器
- 案例一:网站模拟登录
- 案例二:动态页面模拟点击
- 更新到Android Studio 3.0项目迁移遇到的问题解决方案
- 【动态规划】逃学的代价
- SDUT 3341 数据结构实验之二叉树二:遍历二叉树
- ip变更造成的redis集群不可用的解决及数据备份和恢复
- 多条目加载数据
- mysql整理
- linux netstat 命令详解
- MATLAB文件目录操作常用函数
- linux系统基本操作——lvm和ftp
- 通过bitmap改变图片的大小
- 非线性最小二乘求解方法