Advertisement
nipunchawla786

Binary Search using generics

Jan 26th, 2015
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.69 KB | None | 0 0
  1.  public static<T extends Comparable<? super T>> int  binarySearch(T[] A, int p, int r, T x) {
  2.     //System.out.println("Element from array "+A[r]+"value to be compared "+ x);   
  3.     //System.out.println(A[p]+"       "+x);
  4.  
  5.     int z=A[r].compareTo(x);
  6.     int t=A[p].compareTo(x);
  7.     if(z!=1||t!=-1){
  8.         System.out.println(x+" not within "+A[p] + "   "+A[r]);
  9.         return(r+1);
  10.     }else{
  11.         while(p <= r) {
  12.             int q = (p+r) >>> 1;
  13.             int cmp = A[q].compareTo(x);
  14.                 if (cmp < 0) {
  15.             p = q+1;
  16.             } else if (cmp == 0) {  // x found
  17.             return q;
  18.             } else { // A[q] > x, so x is not in the right half
  19.             r = q-1;
  20.             }
  21.         }
  22.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement