递归是我洙混乱... 下面是用于创建二进制树一样的结构:我想通过整个迭代二进制树一样 - 递归
struct parent {
char *name;
Child *children;
};
typedef struct parent Parent;
struct child {
struct Parent *Pptr;
struct child *next;
};
typedef struct child Child;
树和每个子/父(基本上每个节点)调用一个名为birthdaygift()的函数。
下面是我到目前为止所尝试的,但我不认为它的作品。
tree(Parent *parent) {
Child* child = parent->children;
birthdaygift(parent);
if (child == NULL) {
return;
}
while (child->next != NULL) {
Parent * recurseparent = child->Pptr;
tree(recurseparent);
}
birthdaygift(parent);
}
如果有人能给我一些建议,这会非常有帮助吗?
这将有利于你澄清你的问题。这是对您尝试实施的结构或结构本身的误解。 Binary将树结构定义为由节点组成的树,使得每个节点都是具有至多2个(左侧和右侧)子节点的子树。这与链接到下一个和前一个节点(双向链接列表)的节点列表不同,这就是你所拥有的。 – ChiefTwoPencils 2014-11-09 08:44:36