我试图寻找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