下面为二叉排序树插入结点的算法,请在 ____处将算法补齐。
#include
#include
#define TRUE 1
#define FALSE 0
typedef struct BiTNode
{
int data;
struct BiTNode *lchild, *rchild;
} BiTNode, *BiTree;
BiTree root, p;
intSearchBST(BiTree T, int key, BiTree f)
{
if (!T)
{
p = f;
return FALSE;
}
else if (key == T->data)
{
p = T;
return TRUE;
}
else if (key < T->data)
(7)_______;
else
(8)_______;
}
int InsertBST(BiTree T, int e)
{
if (!SearchBST(T, e, NULL))
{
BiTree s = (BiTree)malloc(sizeof(BiTNode));
s->data = e;
s->lchild = s->rchild = NULL;
if (!p)
{
T = s;
root = T;
}
else if (e < p->data)
(9)_______;
else
(10)_______;
return TRUE;
}
else
return FALSE;
}
void main()
{
int i;
BiTree T;
int a[] = {40, 55, 49, 73, 12, 27, 98, 81, 64, 36};
root = NULL;
for (i = 0; i < 10; i++)
{
T = root;
InsertBST(T,a[i]);
}
}
查看答案和解析【26考研辅导课程推荐】:26考研集训课程,VIP领学计划,26考研VIP全科定制套餐(公共课VIP+专业课1对1) , 这些课程中都会配有内部讲义以及辅导书和资料,同时会有教研教辅双师模式对大家进行教学以及督学,并配有24小时答疑和模拟测试等,可直接咨询在线客服老师领取大额优惠券。
启航教育热门私房课
MORE小班面授 名额有限 抢先体验
编辑推荐
最新内容
姓名
手机号