-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這只是一個類型錯誤,無論如何。 –