C 如何读入文本文件并将值存储到多个二叉树中

C 如何读入文本文件并将值存储到多个二叉树中,c,data-structures,linked-list,binary-tree,binary-search-tree,C,Data Structures,Linked List,Binary Tree,Binary Search Tree,对于这个程序,我必须读入一个大约50个数字的文本文件,然后我必须将它们分解(BST的结尾用-1表示)。所以我很确定我用一个链表来表示实际的树数,然后用一个BST来表示实际的树数。然而,我在while循环中遇到了一些麻烦,当a-1是数字时,我无法将树分解。示例输出如下所示 Tree 1: 5 8 14 15 17 19 20 30 Tree 2: 28 60 65 80 83 86 90 Tree 3: 33 40 41 42 43 45 49 Tree 4: 1 4 13 21 47 72

对于这个程序,我必须读入一个大约50个数字的文本文件,然后我必须将它们分解(BST的结尾用-1表示)。所以我很确定我用一个链表来表示实际的树数,然后用一个BST来表示实际的树数。然而,我在while循环中遇到了一些麻烦,当a-1是数字时,我无法将树分解。示例输出如下所示

Tree 1: 5 8 14 15 17 19 20 30

Tree 2: 28 60 65 80 83 86 90

Tree 3: 33 40 41 42 43 45 49

Tree 4: 1 4 13 21 47 72

Tree 5: 16 55 69 77 111
文本文件是

15 

8 

14 

5 

19 

20 

17 

30 

-1 

80 

65 

60 

86 

83 

90 

28 

-1 

42 

45 

49 

40 

43 

33 

41 

-1 

13 

47 

21 

72 

1 

4 

-1 

55 

16 

69 

77 

111 

-1


insert\u BST
函数替换为:

insert_BST(&(*root)->right, insertValue, treeNum);

print\u BST\u的调用顺序
更改为:

print_BST_inorder(listHead->root);
说明:

(*root)->right
(*root)->left
属于
struct BST*
类型,但是
insert\u BST
函数采用
struct BST**
,因此您只需要取消引用它们


listfead
属于
rootList*
类型,因此
*listfead
rootList
,而
print\u BST\u inorder
函数需要一个
BST*
,它是该结构的成员
root

这些错误不是很容易解释的吗?它告诉你它期望什么,你给了什么,并说它们不兼容。@Dukeling是的,但我不知道如何修复它们,当我将它们设置为相同的指针类型时,它不起作用,我收到另一个错误,告诉我左右不属于联合体或结构。现在我遇到了一个seg错误。最好在单独的问题中处理编译器错误和运行时问题。
insert_BST(&(*root)->right, insertValue, treeNum);
insert_BST(&(*root)->left, insertValue, treeNum);
print_BST_inorder(listHead->root);