我的任务是编写一个程序,该程序将是链表的不平衡BST,基本上是链表的链表。我的节点结构如下:
typedef struct node
{
int node_num;
struct node *right, *left;
} node_t;
现在根据我的教授,我必须使用这个“界面”(他的话不是我的)。
node_t *buildTree(FILE *);
有人可以解释上面的“界面吗?”我收集到了,
buildTree(File *);
是我的函数声明和
node_t
是我的typedef结构。但我并不理解这一切。我之前没有遇到过这种类型的声明。
我很感激帮助。
答案 0 :(得分:5)
这是一个函数,给出一个打开的文件(其他人打开文件并给你FILE*
)。
您要从该文件中读取一些数据,并将其转换为BST的一组节点。
最后,您将返回指向顶部/头部节点(node_t*
)
所以,你从:
开始node_t* buildTree(FILE* myFile)
{
node_t* treeRoot = NULL;
fread( [??], [??], [??], myFile ); /* Read something from the file */
[...]
return treeRoot;
}
您使用[...]
做的是如何赚取薪水。 :)
答案 1 :(得分:1)
函数node_t *buildTree(FILE *);
将接受指向FILE
的指针并返回指向您的类型node_t
的指针
您的函数将在FILE指针的帮助下构建二叉树,该指针将用于从磁盘中读取实际文件中的数据。指针FILE可以传递给其他函数或递归传递。
返回的指针node_t将指向二叉树的开头。
答案 2 :(得分:1)
node_t* buildTree(FILE *); // Is a function declaration
| |
| |
| +-------a FILE pointer as argument
|
+-------return type: A pointer to struct node_t
基本上,您需要使用file
的输入“构建”树