定义结构体
注意的地方
1 flag放在外面
2 const int maxn=1e7+10;
3
#include<iostream>
#include<string>
#include<cstdio>
#include<cstdlib>
#include<cstring>
using namespace std;
int cnt=1;
const int maxn=1e7+10;
struct node{
int l;
int r;
}tree[maxn];
void printa(int root){
if(root!=-1){
if(cnt==1) cout<<root;
else cout<<" "<<root;
cnt++;
printa(tree[root].l);
printa(tree[root].r);
}
}
void printb(int root){
if(root!=-1){
printb(tree[root].l);
if(cnt==1) cout<<root;
else cout<<" "<<root;
cnt++;
printb(tree[root].r);
}
}
void printc(int root){
if(root!=-1){
printc(tree[root].l);
printc(tree[root].r);
if(cnt==1) cout<<root;
else cout<<" "<<root;
cnt++;
}
}
int main(){
int n;cin>>n;
for(int i=1;i<=n;i++){
int root;cin>>root;
cin>>tree[root].l >>tree[root].r;
}
cnt=1;
printa(1);
cout<<endl;
cnt=1;
printb(1);
cout<<endl;
cnt=1;
printc(1);
return 0;
}