二分查找
核心思想:从中间开始找,如果等于中间的数直接返回,如果比中间的数小就在左边找,如果比中间数大就在右边找,这样循环
实现:有三个指针,low,high,mid,mid等于(low+high)//2,
如果low比high小
把目标值与mid比较,如果等于mid,返回mid;如果比mid所指值小,向右边找,意思就是此时high等于mid-1;如果比mid所指值大像右边找,意思是low为mid+1;这样完了之后,无论在左边找还是在右边找,high或low变了,mid也要重新计算一下。
否则low不比high小,返回,说明找不到
实现:有三个指针,low,high,mid,mid等于(low+high)//2,
如果low比high小
把目标值与mid比较,如果等于mid,返回mid;如果比mid所指值小,向右边找,意思就是此时high等于mid-1;如果比mid所指值大像右边找,意思是low为mid+1;这样完了之后,无论在左边找还是在右边找,high或low变了,mid也要重新计算一下。
否则low不比high小,返回,说明找不到