public class BasicSearchTest { public static void main( String [] args ) { int [] testData = { 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 165, 170, 175, 180, 185, 190, 195, 200 }; testBinarySearch( testData, -1 ); testBinarySearch( testData, 400 ); testBinarySearch( testData, 4 ); testBinarySearch( testData, 196 ); testBinarySearch( testData, 39 ); testBinarySearch( testData, 96 ); testBinarySearch( testData, 0 ); testBinarySearch( testData, 200 ); testBinarySearch( testData, 5 ); testBinarySearch( testData, 195 ); testBinarySearch( testData, 40 ); testBinarySearch( testData, 95 ); testRecursiveBinarySearch( testData, -1 ); testRecursiveBinarySearch( testData, 400 ); testRecursiveBinarySearch( testData, 4 ); testRecursiveBinarySearch( testData, 196 ); testRecursiveBinarySearch( testData, 39 ); testRecursiveBinarySearch( testData, 96 ); testRecursiveBinarySearch( testData, 0 ); testRecursiveBinarySearch( testData, 200 ); testRecursiveBinarySearch( testData, 5 ); testRecursiveBinarySearch( testData, 195 ); testRecursiveBinarySearch( testData, 40 ); testRecursiveBinarySearch( testData, 95 ); } private static void testBinarySearch( int [] data, int key ) { int locatedAt = BasicSearch.binarySearch( data, key ); if( locatedAt >= 0 ) { System.out.printf( "%d found at index %d%n", key, locatedAt ); } else { System.out.printf( "%d not found%n", key ); } } private static void testRecursiveBinarySearch( int [] data, int key ) { int locatedAt = BasicSearch.recursiveBinarySearch( data, key ); if( locatedAt >= 0 ) { System.out.printf( "%d found at index %d%n", key, locatedAt ); } else { System.out.printf( "%d not found%n", key ); } } }