Saturday, April 27, 2013

Binary Search in Java


public class BinarySearch {
   
    public static int[] getArray(){
       
        int[] array = {4,5,6,9,45,65,83,88,92,99};
        //for random number
      //  for(int i=0; i<10;i++){
        //    array[i]= new java.util.Random().nextInt();
        //}
        return array;
    }
   
    public static void printArray(int[] array){
        for(int i=0; i<array.length-1;i++){
            System.out.print("|"+array[i]);  
        }
        System.out.println();
    }
   
    public static void binarySearch( int[] array , int val){
        int low=0;
        int high=array.length-1;
      
       
  while(low<high){
      int mid= (low+high)/2;
      if(array[mid]<val){
          low=mid-1;
      }else if(array[mid]>val){
          high=mid+1;
      }else if(array[mid]==val){
          System.out.println("Value found at : " +mid);
          low=high+1;
      }
  }
       
    }
   
    public static void main(String[] args){
       
        int[] theArray = getArray();
        System.out.println("CurrentArray : ");
        printArray(theArray);
        int val=5;
        binarySearch(theArray,val);
    }

}

No comments:

Post a Comment