#include <stdio.h>
int main()
{
int i = 0;
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
int sz = sizeof(arr) / sizeof(arr[0]);
int lift = 0;//左下标
int right = sz - 1;//右下标
scanf("%d", &i);//接收要找的数字
while ( lift <= right)
{
int mid = (lift + right) / 2;
if (arr[mid] > i)
right = mid -1;
else if (arr[mid] < i)
lift = mid + 1;
else if (arr[mid] == i)
{
printf("下标为 %d", mid);
break;
}
}
if (lift > right)
printf("没找到");
return 0;
}
//利用二分法从一串数组中寻找具体数字
//扩展思想:若数组内容足够大时,可以更快找出目标
利用二分法从数组中寻找具体数值
于 2021-12-05 17:59:22 首次发布