struct BTNode *lchild *rchild 3 BTNode Bitree void fun (BiTree t, int x, int *a, int *b) if (T) if(x<t->data. key) bb=t->data. key fun (t->lchild, x, a, b); eIse if(x>t->data. key fun(t->rchild, x, a, b); p=t->lchild while(p->rchild) data. ke p=t->rchild while(p->lchild p=p->lchild p-data. key return:struct BTNode *lchild , *rchild; }BTNode ,*BiTree ; void fun(BiTree t, int x, int *a, int *b) { if (T) { if (x<t->data.key) { *b = t->data.key; fun(t->lchild, x,a,b); } else if (x>t->data.key) { *a = t->data.key ; fun(t->rchild,x,a,b); } else { if (t->lchild) { p=t->lchild; while (p->rchild) p=p->rchild; *a=p->data.key; } if (t->rchild) { p=t->rchild; while (p->lchild ) p=p->lchild; *b=p->data.key; } } } return;