The example in lecture searches through an array of elements in a phone book (each element would have a name and a phone number). This example searches through an array of integers.
// Binary Search Algorithm: Searches for x in an array of integers. // Keep dividing the list into two, until begin and end are within one. class BinarySearch { public static void main (String[] args) { int[] book = {2, 4, 5, 7, 8, 9, 12, 15}; int x = 12; // The number we're looking for System.out.println ("Search Key is " + x); int mid; int begin = 0; int end = book.length-1; while (begin != end-1) { mid = (begin+end)/2; if (book[mid] > x) end = mid; else begin = mid; } if (book[begin] == x) System.out.println ("Found value " + book[begin]); // Special case where element is found at last index. else if (begin+1 < book.length && book[begin+1] == x) System.out.println ("Found value " + book[begin+1]); else System.out.println ("Value not found."); } }
[ CSC108 Home | Outline | Announcements | Newsgroup | Assignments | Lectures | Marks | Links ]
© Copyright 2000. All Rights Reserved.