我創建了一個函數來將數據插入BST,並且它工作正常。我使用「通過引用傳遞」,「head」的值在每次插入後都會改變。但是,我發現「頭」始終指向我插入的第一個值。有誰能在這裏解釋是什麼導致「頭」指向我插入的第一個數據?用C++插入BST
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);
}
}
我認爲這是正確的,「頭」總是指向頭(根),是不是你期望什麼? – 4pie0