我想在C中實現遞歸函數,其中返回值是二叉樹中節點的父節點。作爲參數我有t
,這是問題樹和字符n
,節點的名稱。我想找到這個節點的父節點。我試圖做到這一點,但它沒有奏效。返回父節點的二進制樹C
Tree*
tree_par (Tree* t, char n)
{
if (!tree_null(t))
{
if (info(t->lft) || info(t->rgt) == n)
return t;
else
{
tree_par(t->lft, n);
tree_par(t->rgt, n);
}
}
}
如果樹空info
返回節點的名稱和功能tree_null
檢查功能。下面是樹形結構:
struct tree
{
struct tree *lft, *rgt; //left node and right node
char n;
};
信息功能:
char
info (Tree* t)
{
return t->n;
}
tree_null功能:
int
tree_null (Tree* t)
{
return (t == NULL);
}
注:該函數返回一個隨機值給調用者,如果'tree_null()'返回true。 (你的編譯器應該會提醒你) – wildplasser