- package com.cn.test;
- /**
- ** 二分法查找
- */
- public class BinarySearch {
-
- public static int search(int[] arr,int val){
- int start=0,end=arr.length-1;
- while(start<=end){//注意这个循环有两个收敛要素
- int mid=(start+end)/2;//第一个收敛要素,mid
- if (arr[mid]>val) {
- end=mid-1;//第二个收敛要素,start/end
- }
- else if(arr[mid]<val){
- start=mid+1;
- }
- else return mid;
- }
- return -1;
- }
- public static void main(String[] args) {
- // TODO 自动生成的方法存根
- int[]a={3,4,7,8,9};
- System.out.println(search (a,8));
- }
- }
复制代码 |
|