我正在尝试将字符插入三元搜索树,请帮我解决这个分段错误??这是我正在做的插入尝试,在运行这个我得到分段错误(核心转储)请帮我解决为什么会这样?
int main(int argc ,char* agrv[])
{
TSTNode *root;
char *str;
cin >> str;
InsertTST(root,str);
DisplayTST(root);
return 0;
}
TSTNode* InsertTST(TSTNode *root, char *str)
{
if(root== NULL){
TSTNode *root = (TSTNode *)malloc(sizeof(TSTNode *));
root->left = NULL;
root->right = NULL;
root->eq = NULL;
root->is_end_of_str = 0;
return root;
}
if(root->data < *str)
InsertTST(root->right, str);
else if (root->data == *str){
if(*(str+1) != '\0')
InsertTST(root->eq, str+1);
else
root->is_end_of_str = 1;
}
else
InsertTST(root->left, str);
return root;
}