|
|
|
|
|
public static int BinSearch( int x, int[] A, int low, int high ) { int middle; int mySol; if ( low > high ) { /* ------------------------------------------------------ Solve the base case: ------------------------------------------------------ */ return( -1 ); // Not found } else { /* ------------------------------------------------ Solve a non-trivial binary search ------------------------------------------------ */ middle = (low + high)/2; if ( x == A[middle] ) { mySol = middle; // Found x, return location in array } else if ( x < A[middle] ) { mySol = BinSearch( x, A, low, middle−1 ); // Solve smaller problem } else // x > A[middle] { mySol = BinSearch( x, A, middle+1, high ); // Solve smaller problem } return ( mySol ); } } |
How to run the program:
|