插值查找的公式是:mid = low + (high - low)*(k - arr[low]) / (arr[high] - arr[low])。这时我就有几个疑惑了:
第一:
(k - arr[low]) / (arr[high] - arr[low])是两个int类型的数相除,得出来的的结果不几乎都是0么,哪来的比例?
第二:
(arr[high] - arr[low]),万一arr[high] 与arr[low]相等,那结果岂不是0,那不就变成了除以0这样的错误了么。
以上的疑问都是我调试的时候发现的问题,是我理解错了,还是这个算法本身就不给力,望各位大佬指点