有人可以請解釋下面的二進制搜索插入代碼有什麼問題嗎?當我嘗試插入第二個元素時,它給出了分段錯誤。二叉搜索樹插入引發分段錯誤
node * insert(node * root, int value)
{
if(root == NULL){
node *newnode = (node *)malloc(sizeof(node));
newnode->data = value;
newnode->left = NULL;
newnode->right = NULL;
root = newnode;
}
else{
if(root->data > value)
insert(root->left, value);
if(root->data < value)
insert(root->right, value);
}
return root;
}
int main(){
node* root = NULL;
root = insert(root, 5);
root = insert(root, 10);
}
您好,歡迎StackOverflow上。請添加您的節點類型的聲明。你確定在main()函數中修改了根值嗎? – philant
你爲什麼要回歸根? – BlueMoon93
@ BlueMoon93:因爲這是如何修改? –