二分算法查找
折中算法查找
具体代码表现:
int main()
{
int arr[]={0,1,2,3,4,5,6,7,8,9,10};
int sz = sizeof(arr) / sizeof(arr[0]);//计算元素个数
int k = 17;
int left = 0;//左下标
int right = sz-1;//右下标
while(left<=right)
{
int min =(left + right)/2;
if(arr[min]>k)
{
right=min-1;
}
else if(arr[min]<k)
{
left=min+1;
}
else
{
printf("%d\n",min);
break;
}
}
if (left>right)
{
printf("找不到");
}
return 0;
}