热门

最新

红包

立Flag

投票

同城

我的

发布
qq_20376111
kangabo
4 年前
trueqq_20376111

二分查找每次有加1序列或减1序列。
比如1到10,10个数,序列为0到9。
第一次中间值是4,要么加1序列变成5要么减一序列变成3。
如果加1序列变成5,那么第二次中间值是7,要么加1序列变成8,要么减1序列变成6。
如果加1序列变成8,那么第三次中间值是8,要么加1序列变成9,要么减1序列变成7。

如果减1序列变成7,那么要找的值就是序列8,因为right边境变成了7,右边境比左边境8小,循环中止。循环中止前的上一次循环中的中间值就是答案。

如果加1序列变成9,那么第四次中间值是9,要么加1序列变成10,要么减1序列变成8。
而如果减一序列,循环就会中止。
而9就是要找的值。

CSDN App 扫码分享
分享
2
点赞
打赏
  • 复制链接
  • 举报
下一条:
刚开始学C#,对类的理解是真的累,刚看懂点儿对类的引用
立即登录