1 solutions
-
0
C++ :
#include<iostream> #include<cstring> #include<cstdio> using namespace std; struct tree { char data; int prt,lch,rch; }; int n; tree a[30]; void init(); int q_order(int); int z_order(int); int h_order(int); int main() { //freopen("test7.in","r",stdin); //freopen("test7.out","w",stdout); init(); q_order(1);cout<<endl; z_order(1);cout<<endl; h_order(1);cout<<endl; return 0; } void init() { memset(a,0,sizeof(a)); cin>>n; int x,y; for(int i=1;i<=n;i++) { cin>>a[i].data;//读节点值 cin>>x>>y;//x为左儿子,y为右儿子 if(x!=0)//当左儿子非0 { a[i].lch=x; a[x].prt=i; } if(y!=0)//当右儿子非0 { a[i].rch=y; a[y].prt=i; } } } int q_order(int x) { if(x==0) return 0;//当节点为0退出 cout<<a[x].data; q_order(a[x].lch); q_order(a[x].rch); return 0; } int z_order(int x) { if(x==0) return 0; z_order(a[x].lch); cout<<a[x].data; z_order(a[x].rch); return 0; } int h_order(int x) { if(x==0) return 0; h_order(a[x].lch); h_order(a[x].rch); cout<<a[x].data; return 0; }
- 1
Information
- ID
- 559
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By