1

我的任务是编写一个程序,该程序将是链表的不平衡 BST,基本上是链表的链表。我的节点结构如下:

typedef struct node
{
    int node_num;
    struct node *right, *left;
} node_t;

现在根据我的教授的说法,我必须使用这个“界面”(他的话不是我的话)。

node_t *buildTree(FILE *); 

有人可以解释上面的“界面”吗?我收集到,

buildTree(File *);

是我的函数声明和

node_t

是我的 typedef 结构。但我不明白看到这一切。我以前没有遇到过这种类型的声明。

我很感激帮助。

4

3 回答 3

5

这是一个函数,它给出了一个打开的文件(其他人打开了文件并给了你FILE*)。

您将从该文件中读取一些数据,并将其转换为您的 BST 的一堆节点。

最后,您要返回一个指向顶部/头节点的指针 (a node_t*)

所以,你开始:

node_t* buildTree(FILE* myFile)
{
    node_t* treeRoot = NULL;

    fread( [??], [??], [??], myFile );   /* Read something from the file */

    [...]

    return treeRoot;
}

您所做的[...]是如何赚取薪水。:)

于 2013-09-09T20:19:02.427 回答
1

该函数node_t *buildTree(FILE *);将接受指向类型FILE的指针并返回指向您的类型的指针node_t

您的函数将在 FILE 指针的帮助下构建一棵二叉树,该二叉树将用于从磁盘中的实际文件中读取数据。指针 FILE 可以传递给其他函数或递归传递。

返回的指针 node_t 将指向二叉树的起点。

于 2013-09-09T20:21:07.813 回答
1
node_t* buildTree(FILE *);  // Is a function declaration
    |              |
    |              |
    |              +-------a FILE pointer as argument
    |
    +-------return type: A pointer to struct node_t

基本上你需要使用来自文件的输入来“构建”一棵树

于 2013-09-09T20:21:40.817 回答