/*
- 二分法(折半法)
- 1.建立在已经排序好的基础上
- 2.按从小到大顺序排列
- 3.不考虑有重复数字的情况
- */
- 代码:
-
//寻找a数组中任意数字的位置
-
int a[]= {-9,2,3,4,5,7,8,16,19}; int begin=0; int end=a.length; for(int i=0;i<10;i++) { int math=16; int middle=(begin+end)/2; if(a[middle]==math) { System.out.println( math + " 的位置是 " + (middle+1) ); break; }else if(a[middle]>math) { end=middle; }else if(a[middle]<math) { begin=middle; }
eclipse运行结果: