単語のリストを入力として受け取り、それらを二分木に並べ替えて、たとえば辞書のように見つけられるようにするプログラムを作成しようとしています。これは私がこれまで行ってきた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;
}