#include<stdio.h>
struct NODE{
int left; /*左の部分木*/
int value; /*節点の値*/
int right; /*右の部分木*/
}
main()
{struct NODE nod[] ={{1,35,3}, {2,21,EOF}, {EOF,13,EOF}, {4,46,5}, {EOF,40,EOF},
{EOF,61,6}, {EOF,69,EOF}};
int i, in;
printf("Input Number :"); /*探す値を入力*/
scanf("%d", &in);
i=0;
while(nod[i].value!=in) {
if ((nod[i].value>in) & (nod[i].left!=EOF)) { /*左の木を探す*/
i=nod[i].left;
} else if ((nod[i].value<in) & (nod[i].right!=EOF)) { /*右の木を探す*/
i=nod[i].right;
} else {
printf(“Not Found\n”); /*一番下の節点にきても見つからない場合*/
exit();
}
}
printf("Found %d in nod[%d]\n", in, i); /*見つかった場合*/
}