middle = (L+R)/2 这样的写法 L+R 有可能溢出
middle = L + (R-L)/2 =>minddle = L + (R-L)>>1
这样写的好处是不会发生数据溢出,除以 2 则是向右移一位,位运算比算术运算快