使用void函数插入树中

时间:2011-05-18 12:57:38

标签: c tree variable-assignment

所以我有一个名为

的全局变量
struct * tree root = NULL;

我在名为void init()的函数中初始化它。

这里的问题是,对于我的任务,我已经获得了void insert()的ADT,并被迫使用它。但每次我创建一个新节点时,我都不知道如何存储这个值,因为在函数完成后我无法返回一个节点。

3 个答案:

答案 0 :(得分:1)

您已经获得了一个插入函数,它应该返回void(也就是没有返回值),但它是否也意味着它不能接受参数?不像你描述的那样。 C中没有参数的函数具有可变数量的参数。如果你指定的声明是void insert(void),那么它只能使用全局变量(要插入的新值在全局变量'newval'中)和递归调用的do_insert接受一个值和当前节点。

答案 1 :(得分:0)

不知道这是否在规则中,但如果你声明:

static struct * tree root;

然后它将对源文件中的所有函数可见。

答案 2 :(得分:0)

您能否提供有关树节点结构的更多详细信息?就像左右指针一样吗?还有其他我们应该了解的领域吗?