数组可以从中间向两边搜索么?如果两边搜索相同,以哪边作为搜素结果?

数组可以从中间向两边搜索么?如果两边搜索相同,以哪边作为搜素结果?怎么采用双向搜索法搜索数组?

其实就是所谓的二分法搜索嘛。
调用函数,每次将数组分割成等长两半进行搜索。
一直分割到每段只有一个元素,然后将搜索结果返回上一层。这样通过返回的结果,每次都能接受到分成两半的搜索结果,最后根据需求处理嘛

二分查找有个前提就是数组元素必须按照顺序从小到大或者从大到小排列。

以1,2,3,4,5,6,7,8,9,10,11为例,要查找2的位置。那么,每次取array.length/2+1的元素比较。第一次取6,6>2,那么看左边的数组1,2,3,4,5.再取中间值3,3>2.继续在1,2中找,逐步的缩小范围,最终确认。