#include<stdio.h>
#define L 1
#define R 2
int son[17][3],n;
void f(int n)
{
printf("%d ",n);
if(son[n][L])
f(son[n][L]);
if(son[n][R])
f(son[n][R]);
}
void m(int n)
{
if(son[n][L])
m(son[n][L]);
printf("%d ",n);
if(son[n][R])
m(son[n][R]);
}
void b(int n)
{
if(son[n][L])
b(son[n][L]);
if(son[n][R])
b(son[n][R]);
printf("%d ",n);
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d%d",&son[i][L],&son[i][R]);
}
f(1);
printf("\n");
m(1);
printf("\n");
b(1);
return 0;
}
wikioi 3143 二叉树的序遍历
最新推荐文章于 2017-09-10 20:47:22 发布