我创建了一个将数据插入 BST 的函数,它工作正常。我使用了“通过引用传递”,并且“head”的值应该在每次插入后改变。但是,我发现“head”总是指向我插入的第一个值。这里有人可以解释是什么原因导致“头”指向我插入的第一个数据吗?
void insert(node *&head, int val){
if(head == NULL){
head = newNode(val);
}
else{
if(val <head->data)
insert(head->left,val);
else
insert(head->right,val);
}
}