-1
我实现我自己的二叉树的打印,这是我的节点结构:二叉树不起作用
struct node
{
int value;
struct node *left;
struct node *right;
};
和我的开始节点:
struct node * start = NULL;
这是我的插入功能:
void insert(int value, struct node *leaf)
{
if(leaf == NULL)
{
leaf = (struct node*) malloc(sizeof(struct node));
leaf->value = value;
leaf->left = NULL;
leaf->right = NULL;
}
else if(value < leaf->value)
{
insert(value, leaf->left);
}
else if(value > leaf->value)
{
insert(value, leaf->right);
}
}
,这是我使用的访问树中的功能:
void print_tree(struct node * leaf){
if(leaf == NULL)
return;
print_tree(leaf->left);
printf(" %d ",leaf->value);
print_tree(leaf->right);
}
问题是,插入所有值后,它不打印任何东西。
你在这里缺少一个逗号:'插入(价值叶子 - >左);' –
你可能想搜索并阅读*由C基准模拟通*。 –
@BenSteffan这只是一个类型错误,无论如何。 –