二分查找

Posted zhangqiling

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分查找相关的知识,希望对你有一定的参考价值。

 1 package cn.zhang.Array;
 2 
 3 import java.util.Arrays;
 4 
 5 /**
 6   * 测试二分查找(折半检索)
 7  * @author 张涛
 8  *
 9  */
10 public class TestBinarySearch 
11     public static void main(String[] args)
12         int[] a = 10,9,8,7,6,5,4,3,2,1;
13         
14         Arrays.sort(a);//先排序
15         System.out.println(Arrays.toString(a));
16         
17         System.out.println(myBinarySearch(a,1));//调用方法
18         
19     
20     
21     public static int myBinarySearch(int[] arr,int value)
22         
23         int low = 0;//最小索引值
24         int high = arr.length - 1;//最大索引值
25         
26         while(low<=high) 
27             int mid = (low + high) / 2;
28             
29             if(arr[mid] == value) 
30                 return mid;
31             
32             else if(arr[mid]>value) 
33                 high = mid - 1;
34             
35             else if(arr[mid]<value) 
36                 low = mid + 1;
37             
38         
39         return -1;
40     
41 

 

以上是关于二分查找的主要内容,如果未能解决你的问题,请参考以下文章

异序二分查找 二分查找方程根 二分查找重复元素最后一个

每周算法小知识之二分查找

查找算法之“二分查找”

java 二分查找法

hiho36 二分·二分查找二分查找

二分查找