这个函数在c ++中做了什么?

时间:2014-11-09 16:45:34

标签: c++ function

这是书中的一个问题:“用C ++解决数据抽象和问题” 我想知道这个递归函数对给定的整数数组执行了什么?

int mystery (const int array[], int k, int l, int h)
{
    if(array[l]==k)
       return 1;
    else if (l==h) 
       return -1; 
    else 
       return mystery(array, k, l+1, h);
}

1 个答案:

答案 0 :(得分:4)

该算法将搜索数组中的k。 " L"似乎是遍历数组的索引和" h"似乎是数组的最后一个元素的索引。

如果在数组中找到了元素,它将返回1,否则为-1。

简而言之,递归版线性搜索 ...