二分查找

来源:互联网 发布:最容易学的编程语言 编辑:程序博客网 时间:2024/06/15 06:34

     接触编程的人,肯定都接触过二分查找算法。这是一个很简单的算法,可是真的通过语言实现的时候,却有很多人写得不好。

     今天写一个二分查找的java实现,编程小白可以看看。

     public static int binarySearch(int[] a,int key){//首先方法的命名,不要随便乱写,最好能够一目了然

                 if(a.length==0){//数组必须是从小到大拍好序的

                    System.out.println("数组不能为空!");

                    return;

                 }            

                 int low = 0;

                 int high = a.length - 1;//low和high分别是要查找的数组的边界

                 while(low<high){

                  int middle = (low+high)/2;

                  if(key==middle)

                  return middle;

                  else if(key<a[middle]){

                  high = middle - 1;

                 }

                 else{

                 low = middle + 1;

                  }

                 }

               return -1;//while循环结束都没有找到,就返回-1,说明不存在

    }

0 0