还记得吗我们在前面探讨了区间的选择和主循环的停止判断条件但是没有提到中间索引位置的计算公式 middle(st, ed)。当区间的长度是奇数时中间索引只有一个位置 mid (st ed) / 2而当区间长度是偶数时中间索引就有了两个中间位置一个左偏一个右偏。前面两个动画中都是默认使用左偏的实现方式下面我们再来对比看一下右偏的实现方式左闭右开区间-右偏全闭区间-右偏观察动画可以发现只有在当前搜索区间的长度为偶数时mid 指针的位置才会有所差别。