问题遇到的现象和发生背景
学写了一个二分法函数,但是运行时有些间隔的数组中的数查不到
问题相关代码,请勿粘贴截图
int search(int key,int a[],int len) //经典的二分法查找,需要有序存放的数组
{
int ret = -1;
int right = len-1;
int left = 0;
while(right > left)
{
int mid = (left+right)/2;
if(key == a[mid])
{
ret = mid;
break;
}
else if(a[mid] < key)
{
left = mid; /
}
else
{
right = mid;
}
}
return ret;
}
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
能够查找到数组中出现的每一个数字的下标