私は再帰によってダブルリンクリストの検索を実装しようとしています。 入力が1,2,3のように最初のノードの出力のみを返します。それは私に見つかりましたが、2を検索しようとしている場合、それは見つからないと言います。 私は再帰によるC++のダブルリンクリストの検索
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