小弟遇见一个问题,c++算法,需要用递归函数确定元素X是否属于数组a[0:n-1],没有思路,求大侠指点
1个回答
展开全部
代码如下:
#include <stdio.h>
int is_set(int val, int *a, int len)
{
if (val == *a)
{
return 1;
}
if (len > 1)
{
return is_set(val, a + 1, len - 1);
}
else
{
return 0;
}
}
int main()
{
int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
int exist1 = is_set(9, a, 10);
int exist2 = is_set(-1, a, 10);
printf("%d %d\n", exist1, exist2);
return 0;
}
Linux 下编译及测试结果如下:
[root@iZ25a38chb4Z lory]# g++ test.cpp -o test -g3 -Wall
[root@iZ25a38chb4Z lory]# ./test
1 0
通过测试结果可以知道,9 查询成功,-1 查询失败。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询