定义三个索引值:最大值max,最小值min,中值mid=(max+min)/2取整
1,数据排序(升序)
2,循环查询mid的值,判断目标值与查询值关系:
相等:获取目标,结束循环
目标值大于查询值:min=mid+1,mid=(max+min)/2取整
目标值小于查询值:max=mid-1,mid=(max+min)/2取整。
lookup函数采用二分法查找,默认查询区域升序排列(若查询区域未排序,可能返回的结果不正确)
获取目标后,会查询相邻的下一个,若相邻下一个等于目标值,继续向下查询
直到连续相邻的值不等于目标值,记录最后一个符合条件的值(索引)