You'll need to sort the array first. Binary search by definition works only on sorted arrays. This is because of the way it searches for elements:

1) start at the center 2) check the current element 3) a) if equal then done b) if smaller then all previous elements are smaller; get the binary search of the second half of the array c) if larger then all next elements are larger; get the binary search of the first half of the array

In the end the first / second half of the array will be only one element and the recursion can end. [ November 23, 2008: Message edited by: Rob Prime ]