void add_bst(struct node **tloc, int k, int v)
{
struct node *nd;
nd = search_bst(*tloc, k);
nd = malloc(sizeof(struct node));
nd->key=k;
nd->value=v;
nd->left=NULL;
nd->right=NULL;
}
我很确定 search_bst 是正确编写的,但这个函数似乎是一个空操作。我究竟做错了什么?抱歉,如果这是非常明显的事情,但我是 C 新手。
编辑:这里是 search_bst:
struct node *search_bst(struct node *t, int k)
{
while (t != NULL){
if (t->key < k) t = t->right;
else if (t->key > k) t = t->left;
else return t;
}
return t;
}