mid = low + (high - low)*(key - a[low])/(a[high] - a[low]);
这个公式里, (key - a[low])在计算过程中是可能出现负值的,这个时候mid的变化就不是mid = low + 一个正值。 而是mid = low + 一个负值, mid会出现意外减少的情况,如果这个时候又刚好key>a[mid]的话, 那么low也会减少,因为:
mid = low + (high - low)*(key - a[low])/(a[high] - a[low]); 这个公式里, (key - a[low])在计算过程中是可能出现负值的 ,这个时候mid的变化就不是mid = low + 一个正值。 而是mid = low + 一个负值, mid会出现意外减少的情况,如果这个时候又刚好key
mid = low + (high - low)*(key - a[low])/(a[high] - a[low]);
这个公式里, (key - a[low])在计算过程中是可能出现负值的,这个时候mid的变化就不是mid = low + 一个正值。 而是mid = low + 一个负值, mid会出现意外减少的情况,如果这个时候又刚好key>a[mid]的话, 那么low也会减少,因为:
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。
http缓存与离线缓存 - 小龙女先生
2017-07-18 14:05
H5编辑器核心算法和思想-遁地龙卷风 - 遁地龙卷风
2017-07-09 16:00
APP热更新方案 - 大熊先生|互联网后端技术
2017-06-15 09:01
通用网页调用本地应用程序方案(windows平台) - 小龙女先生
2017-05-16 13:00