我正在尝试创建一个程序,该程序将单词列表作为输入,并将它们排序为二叉树,以便可以找到它们,例如字典。这是我到目前为止所做的,但newEl -> el = input;
我知道这是因为它试图指向一个 NULL el,当第一次创建树时,我得到了一个分段错误,但我不确定改进的最佳方法是什么我的代码是。有人有想法么?谢谢。
struct node *tra(struct node * start, Type input) {
struct node * thisNode = start;
if (thisNode == NULL)
Type current = thisNode -> el;
if (strcmp(input, current) > 0)
return tra(thisNode -> right, input);
else if (strcmp(input, current) < 0)
return tra(thisNode -> left, input);
else
return thisNode;
}
}
Ta insert(Type input, Ta ta) {
if ((find(input, ta)) == FALSE) {
newEl -> el = input;
}
return ta;
}
Boolean find(Type input, Ta ta) {
if (tra(ta -> head, input) == NULL)
return FALSE;
}