1. 程式人生 > >P1305 新二叉樹

P1305 新二叉樹

node nbsp sin art printf pac -m namespace log

題目描述

輸入一串完全二叉樹,用遍歷前序打出。

輸入輸出格式

輸入格式:

第一行為二叉樹的節點數n。

後面n行,每一個字母為節點,後兩個字母分別為其左右兒子。

空節點用*表示

輸出格式:

前序排列的完全二叉樹

輸入輸出樣例

輸入樣例#1:
6
abc
bdi
cj*
d**
i**
j**
輸出樣例#1:
abdicj

桶。。。
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4
#include<cmath> 5 using namespace std; 6 struct node 7 { 8 char pa; 9 char data; 10 char lc,rc; 11 }a[10001]; 12 int vis[201]; 13 int root=-1; 14 int xianxu(int i) 15 { 16 printf("%c",i); 17 if(a[i].lc!=*) 18 xianxu(a[i].lc); 19 if(a[i].rc!=*) 20
xianxu(a[i].rc); 21 } 22 int main() 23 { 24 int n; 25 scanf("%d",&n); 26 for(int i=1;i<=n;i++) 27 { 28 char data; 29 cin>>data; 30 cin>>a[data].lc>>a[data].rc; 31 a[a[data].lc].pa=data; 32 a[a[data].rc].pa=data;
33 vis[data]=1; 34 } 35 for(int i=1;i<=122;i++) 36 { 37 if(a[i].lc!=0&&a[i].pa==0) 38 { 39 root=i; 40 } 41 } 42 xianxu(root); 43 return 0; 44 }

P1305 新二叉樹