数据结构实验之二叉树二:遍历二叉树
2017-08-16 19:01
204 查看
数据结构实验之二叉树二:遍历二叉树
Time Limit: 1000MS Memory Limit: 65536KBProblem Description
已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并按中序和后序的方式遍历该二叉树。
Input
连续输入多组数据,每组数据输入一个长度小于50个字符的字符串。
Output
每组输入数据对应输出2行:
第1行输出中序遍历序列;
第2行输出后序遍历序列。
Example Input
abc,,de,g,,f,,,
Example Out
cbegdfa cgefdba
#include <bits/stdc++.h> using namespace std; typedef struct node { char data; struct node *lchild, *rchild; } BiTNode, *BiTree; char front[110]; int i; int CreateBiTree(BiTree &T) //建立二叉树 { char data; data = front[i++]; if(data == ',') { T = NULL; } else { T = (BiTree)malloc(sizeof(BiTNode)); T -> data = data; CreateBiTree(T -> lchild); CreateBiTree(T -> rchild); } return 0; } void mid(BiTree T) //中序遍历 { if(T) { mid(T -> lchild); if(T -> data != ',') cout << T -> data;; mid(T -> rchild); } } void last(BiTree T) //后序遍历 { if(T) { last(T -> lchild); last(T -> rchild); if(T -> data != ',') cout << T -> data; } } int main() { BiTree T; while(cin >> front) { i = 0; CreateBiTree(T); mid(T); cout << endl; last(T); cout <<endl; } return 0; }
相关文章推荐
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树 (sdut OJ 3341)
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树五:层序遍历(二叉树+队列)
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树(中序后序遍历)