A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

    首先重新声明变量
    查找的到:return mid+1,也就是说,其当前插入的这个数据所处的loc是在mid之后+1的位置,假如数组{1,10,20,30}中插入的是20,它所处的loc就是3,很明了。
    查找不到:return low。我们也可以这样理解,还是上面的数组,当插入的是15的时候,也就是说,折半查找首先查找到的会是10,所以,简单点来说,插入数据的当前loc也可以认为是mid+1。准确点来说:当查找不到的时候while(low<=high)中的条件是不成立的,就是说,此时,low>high,那么return low,low此刻的loc是多少呢,是=high+1,或者是mid+1,因为high和mid是处于同一loc下,要说明一下的是low的值不需要=high+2或者是=mid+2,因为当low=high+1的时候,while中的条件就已经不成立了。
    当查找不到的时候,我们不建议return mid+1或者high+1,是因为return low,更准确和规范。
    个人的一点见解,不知正否,还请同门多多指教!

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马