算法入门笔记:二分查找
int find(int a[],int len,int m) //len为数组的长度 m为被查找的数
{
int left = 0, right = len - 1;
while (left <= right)
{
int k = (left+right) / 2;
if (m == a[k]) //即 m就为中间值
return k;
else if (m > a[k]) //即m在中间到最后这一段里面
left = k + 1; //所以就让left从中间的下一个开始 重复二分查找
else
right = k - 1; //即 m在开始到中间这一段里面
}
return -1; //如没有上述三种情况 则就是没有找到 即没有m元素
}