首页 > 学院 > 开发设计 > 正文

sdutacm-数据结构实验之二叉树二:遍历二叉树

2019-11-06 06:48:11
字体:
来源:转载
供稿:网友

数据结构实验之二叉树二:遍历二叉树

TimeLimit: 1000MS Memory Limit: 65536KB

SubmitStatistic

PRoblem Description

已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并按中序和后序的方式遍历该二叉树。

Input

连续输入多组数据,每组数据输入一个长度小于50个字符的字符串。

Output

每组输入数据对应输出2行:第1行输出中序遍历序列;第2行输出后序遍历序列。

 

Example Input

abc,,de,g,,f,,,

Example Output

cbegdfa

cgefdba

Hint

 

Author

 xam

#include<string.h>#include<stdio.h>#include<stdlib.h>typedef struct node{   int data;   struct node*l;   struct node*r;}tree;tree *creat(char *&ss){   if(*ss==',')   {   ss++;   return NULL;   }  tree*p;  p = (tree*)malloc(sizeof(tree));  p->data = *ss++;  p->l = creat(ss);  p->r = creat(ss);  return p;}void lastout(tree*p){   if(p)   {       lastout(p->l);       lastout(p->r);       printf("%c",p->data);   }}void inout (tree*p){   if(p)   {     inout(p->l);     printf("%c",p->data);     inout(p->r);   }}int main(){   char ss[51],*p;   while(~scanf("%s",ss))   {      p = ss;      tree*root;      root = creat(p);      inout(root);      printf("/n");      lastout(root);      printf("/n");   }}/***************************************************User name: jk160505徐红博Result: AcceptedTake time: 0msTake Memory: 108KBSubmit time: 2017-02-07 11:03:58****************************************************/


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表