二分法查找

package com.test;

import java.util.*;

public class BinaryQuery {
       public static void main(String[] args) {
              int[] arr = {1, 3, 5, 6, 7, 12, 13, 15, 23, 676};
              System.out.println("Query result is: " + bQuery(arr, 15));
       }
       public static int bQuery(int[] arr, int num) {
              int result = 1;
              int mid, end = arr.length, start = 0;
              while(start < arr.length) {
                     mid = (start + end) / 2;
                     if(num < arr[mid]) {
                           end = mid;
                     } else if(num > arr[mid]) {
                           start = mid;
                     } else {
                           result = mid;
                           break;
                     }
              }
              return result;
       }
}

 

posted @ 2012-06-29 18:47  我是小菜鸟  阅读(131)  评论(0编辑  收藏  举报