Binary Search(Java)(非递归)

 1 public static int rank(int[] array, int k)
 2 {
 3     int front = 0, rear = array.length - 1;
 4       
 5     while(front <= rear)   //front = rear时, mid必与front和rear指向同一个元素
 6     {
 7         int mid = front + (rear - front) / 2;
 8         if(k > array[mid]) front = mid + 1;
 9         else if(k < array[mid]) rear = mid -1;
10         else return mid;
11     }
12     return -1;
13 }

 

posted @ 2019-03-09 14:35  Huayra  阅读(128)  评论(0编辑  收藏  举报