1 条题解
-
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
信息
- ID
- 940
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者