双链接列表通过递归搜索C
Double link list searching C++ through recursion
我正在尝试通过递归实现搜索双链接列表,它只会给我一个第一个节点的输出,例如输入是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);
}
}
我认为您有名为Head ...查看您在功能的第一行中正在做什么
xtemp = head;
因此,在递归调用中获得的内容无关紧要,您将XTEMP值替换为链接列表的负责人
您应该从main()调用 search(head)
,并且在函数中不要使用 xtemp=head
另外,请查看以下内容:
if (xtemp->info == num)
{
cout << "Target found" << endl;
return 0;
}
if (xtemp->info != num)
{
cout << "NOt found," << endl;
return 0;
}
您的递归呼叫将永远不会被调用您想接听递归电话吗?
尝试以下操作:
int search(node *xtemp, int num)
{
if (xtemp == NULL)
{
cout << "Not Found" << endl;
return 0;
}
if (xtemp->info == num)
{
cout << "Target found" << endl;
return 0;
}
else
{
return search(xtemp->next, num);
}
}
相关文章:
- 按边长度递归搜索图中所有可行路径
- 在递归二叉搜索树中搜索
- 递归二进制搜索与字符串数组
- 查找存储在二叉搜索树的所有非叶子中的数据总和?(返回整数的独立递归函数
- 如何改进搜索二项式系数的递归算法
- 使用后序遍历递归的深度优先搜索会产生意外输出
- 字符串的递归二进制搜索-C++
- 递归搜索n元树中的元素
- 这是河内算法的递归塔是一种不知情的搜索
- 二叉搜索树按级别递归C++打印节点
- 了解一种神秘地起作用的递归二进制搜索算法
- 在 c++ 中递归搜索注册表
- 我在DFS搜索(树)代码中遇到麻烦.我如何打破递归
- 双链接列表通过递归搜索C
- VPATH 中的递归搜索
- 修剪递归搜索路径
- 二叉树上的递归搜索返回真和假
- 在计算机中递归搜索文件
- 递归搜索不起作用
- c++递归搜索函数(学校作业)