×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: Java
Posted by: Shamir Yona
Added: Sep 13, 2015 1:14 PM
Views: 1916
Tags: no tags
  1.  
  2. public class BinarySearch {
  3.        
  4.         public static int binarySearch(int[] inpArray, int key) {
  5.                 int retOfs = -1;
  6.                 int low = 0;
  7.                 int high = inpArray.length;
  8.                 int mid;
  9.                
  10.                 // Empty array??
  11.                 if (high == 0)
  12.                         return(-1);
  13.                
  14.                 while (true)
  15.                 {
  16.                         mid = (low + high) / 2;
  17.                         int midVal = inpArray[mid];
  18.                         if (midVal == key)
  19.                         {
  20.                                 retOfs = mid;
  21.                                 break;
  22.                         }
  23.                        
  24.                         // not found!!
  25.                         if (low >= high)
  26.                                 break;
  27.                         else if (key > midVal)
  28.                                 low = mid + 1;
  29.                         else
  30.                                 high = mid - 1;
  31.                        
  32.                 }
  33.                
  34.                 return(retOfs);
  35.         }
  36.        
  37.  
  38.         public static void main(String[] args) {
  39.                 int[] inpArray = {1, 3, 7, 9};
  40.                
  41.                 int keyVal = 9;
  42.                 int keyOff = binarySearch(inpArray, keyVal);
  43.                 System.out.printf("Index of key: %d is : %d\n", keyVal, keyOff);
  44.  
  45.         }
  46.  
  47. }
  48.