二分法查看数组a元素里是否有关键字K
基本二分板子
left = 0,mid = (l + r )/ 2,right = strlen(a)-1;
//left为左顶点坐标 mid 为中间坐标 right为右顶点坐标
//下文K为关键字
while(right > left) //左顶点小于右顶点进入循环
{
if(a[m] > K) // 中间的大于关键字
r = m - 1;
if(a[m] < K) // 中间的小于关键字
l = m + 1;
if(a[m] == K) //中间的等于关键字
break;
mid = (left + right) / 2; //重新定义中间的值
}
注:该代码仅供思路参考,具体问题具体分析。