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;
}