0
你好,我遇到了一個我似乎無法解決的問題。我有一個BST,我正在遍歷並檢查行列。我有一個方法checkRank(link head, targRank)
,它接收頭節點並遍歷樹,直到找到與targRank具有相同級別的節點。我試圖做的是有checkRank函數返回當前節點它發現相同的排名在。什麼是最好的方法來實現這一點,因爲我所有的嘗試似乎都返回當前節點作爲頭部?從BST返回當前節點
typedef struct node* link;
struct node
{
Item item; // Data for this node
link l, r; // left & right links
int rank;
};
Func鍵呼叫:
link head;
checkRank(head, 13);
FUNC:
所有的link checkRank(link h,int targetRank)
{
if (h != NULL)
{
if (h->rank < targRank)
{
checkRank(h->r, targRank);
}
if (h->rank > tarRank)
{
checkRank(h->l, targtRank);
}
if (h->rank == targRank)
{
return ??;
}
}
else
{
printf("Equiv rank could not be found\n");
}
}
是的工作。非常感謝你。 – bardockyo