我試圖尋找C++來實現搜索通過遞歸一個雙鏈接列表, 它給了我只有像如果輸入1,2,3第一個節點的輸出,我試圖尋找1,則它給我發現,但如果我試圖搜索2,那麼它說沒有找到。 我覺得雙鏈表通過遞歸
else
{
return search(xtemp->next, num);
}
不工作,不往前走。
int search(node *xtemp, int num)
{
xtemp = head;
if (xtemp->next == NULL)
return 0;
if (xtemp == NULL)
{
cout << "Empty" << endl;
return 0;
}
if (xtemp->info == num)
{
cout << "Target found" << endl;
return 0;
}
if (xtemp->info != num)
{
cout << "NOt found," << endl;
return 0;
}
else
{
return search(xtemp->next, num);
}
}
解決這些問題的正確工具是你的調試器。在*堆棧溢出問題之前,您應該逐行執行您的代碼。如需更多幫助,請閱讀[如何調試小程序(由Eric Lippert撰寫)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)。至少,您應該\編輯您的問題,以包含一個[最小,完整和可驗證](http://stackoverflow.com/help/mcve)示例,該示例再現了您的問題,以及您在調試器。 –
它沒有給我一個錯誤 –
@ p156064ZeeshanHaiderSaheen,它不會給你一個錯誤。你需要*搜索錯誤。調試器使它更容易一些。 – Incomputable