/*------- 二分木 --------*/ #include #define NIL -1 #define MAXSIZE 100 typedef struct _tnode{ int left; char name[64]; int age; int right; } TNODE; int main(){ TNODE a[MAXSIZE]={ {1,"MOTOKI",23,2},{3,"ETOU",44,4}, {5,"SHIMIZU",43,NIL},{NIL,"ABE",24,NIL}, {6,"KUWATA",33,7},{NIL,"NISHI",74,NIL}, {NIL,"KIYOHARA",21,NIL},{NIL,"MATUI",32,NIL} }; int count=0; char key[20]; int p; printf("Search name-->");scanf("%s",key); p=0; while(p!=NIL){ count++; if(strcmp(key,a[p].name)==0){ printf("%sの年齢は%d歳です。\n",a[p].name,a[p].age); printf("探索回数%d回で見つかりました。\n",count); break; }else if(strcmp(key,a[p].name)<0)p=a[p].left; else p=a[p].right; } return 0; }