我一直在我的頭上靠着牆壁打了幾個小時。我不知道該怎麼做。我重構了我的函數幾次,仍然沒有得到它的正常工作。按名稱遍歷一棵樹C++
這是用於我的C++類中的編程任務。它必須有一個特定的形式,如數據類型,參數等,由教師給出,所以我不能改變這樣的事情。我們必須使用字符數組,因此strcmp()。如果我們找到它,我們必須返回該人,否則返回NULL。
繼承人什麼我與迄今爲止的工作:
person *classname::getPersonByName(char *name, person *rt)
{
if (rt != NULL)
{
if (strcmp(rt->Title, title) == 0)
{
return rt;
}
else
{
getPersonByName(title, rt->left);
getPersonByName(title, rt->right);
//return NULL;
}
}
}
在調試時,會發現和命名返回的人就好了。問題是,它是否會及時覆蓋我的回報,因此不會以正確的人爲結果。
NULL的底部被註釋掉,最終將每次調用設置爲NULL,無論搜索是否找到它。
什麼是'title',爲什麼'name'閒置? – 2012-08-01 02:06:44
這裏有一個提示:爲什麼函數在簽名中有'person *'? – irrelephant 2012-08-01 02:09:16