SDUT-数据结构实验之二叉树二:遍历二叉树
来源:互联网 发布:2017广电禁止网络电视 编辑:程序博客网 时间:2024/05/16 08:35
数据结构实验之二叉树二:遍历二叉树
Time Limit: 1000MS Memory Limit: 65536KB
Problem Description
已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并按中序和后序的方式遍历该二叉树。
Input
连续输入多组数据,每组数据输入一个长度小于50个字符的字符串。
Output
每组输入数据对应输出2行:
第1行输出中序遍历序列;
第2行输出后序遍历序列。
Example Input
abc,,de,g,,f,,,
Example Output
cbegdfacgefdba
Hint
Author
//两种二叉树创建模式(为什么一定要使用二级指针:http://blog.chinaunix.net/uid-26983585-id-3219788.html)//1.于main函数中定义一个tree指针,注意这是个二叉树节点的指针类型;然后将这个参数传递给一个Creat函数,在该函数中递归创建二叉树#include <bits/stdc++.h>typedef struct node{ char data; struct node*left; struct node*right;}tree;int flag;char str[55];tree*creat(tree*rt){ if(str[flag]==',') { flag++; return NULL; } else { rt=(tree*)malloc(sizeof(tree)); rt->data=str[flag++]; rt->left=creat(rt->left); rt->right=creat(rt->right); } return rt;}void mid(tree*rt){ if(rt) { mid(rt->left); printf("%c",rt->data); mid(rt->right); }}void last(tree*rt){ if(rt) { last(rt->left);last(rt->right); printf("%c",rt->data); }}int main(){ tree*rt; while(scanf("%s", str)!=EOF) { flag=0; rt=creat(rt); mid(rt); printf("\n"); last(rt); printf("\n"); } return 0;}//2.可以直接在Creat函数中创建二叉树,并返回二叉树的根指针;如:rt=Creat();#include <bits/stdc++.h>typedef struct node{ char data; struct node*left; struct node*right;}tree;int flag;char str[55];tree*rt;tree*creat(){ tree*rt=NULL; if(str[flag]==',') { flag++; return NULL; } else { rt=(tree*)malloc(sizeof(tree)); rt->data=str[flag++]; rt->left=creat(); rt->right=creat(); } return rt;}void mid(tree*rt){ if(rt) { mid(rt->left); printf("%c",rt->data); mid(rt->right); }}void last(tree*rt){ if(rt) { last(rt->left);last(rt->right); printf("%c",rt->data); }}int main(){ while(scanf("%s", str)!=EOF) { flag=0; rt=creat(); mid(rt); printf("\n"); last(rt); printf("\n"); } return 0;}
阅读全文
0 0
- SDUT-数据结构实验之二叉树二:遍历二叉树
- [SDUT](3341)数据结构实验之二叉树二:遍历二叉树 ---- 二叉树
- SDUT OJ 数据结构实验之二叉树二:遍历二叉树
- SDUT 3341数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树 (sdut OJ 3341)
- sdut oj3341 数据结构实验之二叉树二:遍历二叉树
- SDUT OJ 数据结构实验之二叉树二:遍历二叉树
- sdut 3341数据结构实验之二叉树二:遍历二叉树
- SDUT 3341 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树的建立与遍历 SDUT
- SDUT-数据结构实验之二叉树的建立与遍历
- SDUT 数据结构实验之查找二:平衡二叉树
- SDUT 3374 数据结构实验之查找二:平衡二叉树
- sdut oj3374 数据结构实验之查找二:平衡二叉树
- SDUT 3374 数据结构实验之查找二:平衡二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- JavaScript/Ajax/JQuery知识点(BOM/DOM/ScriptEngine/JS引擎)
- 第7课
- The area
- mongdb的简单操作(曾删查改)
- 百练_1067取石子游戏(威佐夫博弈)
- SDUT-数据结构实验之二叉树二:遍历二叉树
- [第五章]函数对变量的作用:局部变量和全局变量
- 关于串匹配的简单理解
- 计算机视觉与模式识别 code
- Windows下安装scikit-learn
- redis简介及配置
- 工厂设计模式
- 使用IIS配置Http
- [BZOJ4872][Shoi2017]分手是祝愿 数学期望