二分查找也叫折半查找,效率高,但是条件苛刻,只有在有序的
数据才可以使用这种方法;接下来我就为大家介绍这种方法!
题目:给定一个升序的整型数组,这个数组中查找到指定的值,找到就打印n的下标,找不到就打印找不到。例如找到其中 k=7 的下标是多少。
解析如下:
对于上图:假如输入一个数字,想知道它的下标是多少,先来分析一下:
第三次查找下标left是5,right是6,(5+6)/2=5(mid),值是6不等于7,所以还需要再次进行查找:还在右边;所以left再向右移动一位变为6,此时左右下标相等,再进行第四次的计算,(6+6)/2=6,(下标),此时它的值是7,我们找到值为7的下标是6。
具体的代码如下: