当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

C语言递归折半查找求数组中的数

更新:12-23 整理:39baobao.com
字体:

判断是否没找到条件不对,改一下:

#include

int fun(int a[], int m, int n, int p)

{

int mid;

if (m > n)return -1;

mid = (m + n) / 2;

if (a[mid] == p)

return mid;

else if (a[mid]

{

return fun(a, mid + 1, n, p);

}

else if (a[mid]>p)

{

//m = m - m / 2;

return fun(a, m, mid - 1, p);

}

//else if (((mid == m) & a[m] != p) || ((mid + 1) == n) & a[n] != p)

// return -1;

}

void main()

{

int p;

int array[10] = { 1, 2, 5, 10, 17, 26, 37, 50, 65, 82 };

scanf("%d", &p);

printf("%d", fun(array, 0, 9, p));

}

本文地址:https://www.39baobao.com/show/29_13590.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.