C语言的学习过程,我把它记录下来 | |
---|---|
每次查找都求个中间数,小了就向左找,大了就向右找 |
int main()
{
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
int b = 7; //假如我们要找的数字是7
int sz = sizeof(arr) / sizeof(arr[0]); //求数组元素个数
int left = 0;
int right = sz - 1; //数组最大的下标
while (left<=right) //右下标和左下标相等说明查找了所有数字
{
int mid = (left + right) / 2; //求一个中间数
if (arr[mid] <b) //缩小范围
{
left = mid + 1;
}
else if (arr[mid] > b) //缩小范围
{
right = mid - 1;
}
else
{
printf("找到了,下标是:%d\n", mid);
break;
}
}
if (left > right) //找遍所有数没有
{
printf("没有找到\n");
}
return 0;
}
希望能和大家一起学习、进步,每一个关注和点赞都是我学习的动力,我也会回关回赞的,互相督促共同进步 |
---|
欢迎各位大佬指导提携,感激不尽 |