查找二叉树

来源:互联网 发布:淘宝二手工作站靠谱吗 编辑:程序博客网 时间:2024/04/29 04:08

Problem Description

已知一棵二叉树用邻接表结构存储,中序查找二叉树中值为x的结点,并指出是第几个结点。

Input

输入有多组数据,每组数据的第一行n为二叉树的结点个数,n<=100;第2行x表示要查找的结点的值;以下n列数据中每列第1个数是结点的值,第2个数是左孩子的编号,第3个数是右孩子的编号。

Output

对于每组数据输出一个数即查找的结点编号。

Sample Input

7155 2 312 4 510 0 029 0 015 6 78 0 023 0 0

Sample Output

4
//标称

#include<stdio.h>#include<string.h>struct ss{int data,l,r;}a[110];int n,m,cnt;void dg(int x){if(x==0)  return ;dg(a[x].l);  printf("%d\n",a[x].data);cnt++;if(a[x].data==m)  printf("%d\n",cnt);     dg(a[x].r);}int main(){// freopen("a.txt","r",stdin);    while(scanf("%d",&n)!=EOF){scanf("%d",&m);memset(a,0,sizeof(a));for(int i=1;i<=n;i++) scanf("%d%d%d",&a[i].data,&a[i].l,&a[i].r);        cnt=0;dg(1); }return 0;}

0 0
原创粉丝点击