我試圖通過List類中的每個節點遞歸移動來查找某個整數是否存在於列表中的某個節點中。C++:使用遞歸在List中查找int - 何時返回
這是我的頭文件:
class List
{
public:
bool find(int d) const { return false; }
private:
Node *head;
bool findNode(const Node*, int) const;
};
下面是兩個函數的代碼:
bool List::find(int d) const
{
return findNode(head, d);
}
bool List::findNode(const Node* n, int d) const
{
if (n == NULL)
return false;
else if (n->data == d)
return true;
else
findNode(n->next, d);
}
現在,這裏是我的問題:我是不是由findNode
功能添加if (n == NULL)
聲明厄運自己所以它總是返回false?我不認爲我需要這樣做,如果我已經在頭文件中有return false
。我應該刪除該行嗎?有沒有更好的方法來做到這一點?
這是有道理的。我討厭頭文件,但是它是由教師給我的,我們不允許改變它(如果你問我...,AWFUL編碼標準)。我根本不會在頭文件中這樣做,但是我猜你會得到你所得到的。 – WitchKing17