Implement and test a generic binary search

profileTopsolutions
 (Not rated)
 (Not rated)
Chat

Implement and test a generic binary search. Note that your test program must use at least 2
types of data to prove that bsearch is generic.

Templating means that instead of passing a parameter such as Integer you pass a parameter
T. (T is a type variable and can be named anything). This means that you can call bsearch
with different types of objects.

Pseudo Code Example:

Bsearch(String) Bsearch(Integer)

This means you do not have to write 2 separate bsearch methods, one for String and one for
Integer.

The heart of how this is accomplished is the Comparable interface. If a class implements
Comparable, it defines less than, greater than and equals. Also, by making the type variable
you can call with any object that implements Comparable.

Example Code:

public class Searches
{
public static int bsearch(T[] a, int first, int last, T key)
{

called in main as:

result = Searches.bsearch(IntegerArray,0, 10, key);
result = Searchesbsearch(StringArray,0,10,key);


Example Output:

--------------------Configuration: --------------------
Integer test array contains:
0 2 4 6 8 10 12 14 16 18
-3 is not in the array.
-2 is not in the array.
-1 is not in the array.
0 is at index 0
1 is not in the array.
2 is at index 1
3 is not in the array.
4 is at index 2
String test array contains:
apples oranges peaches strawberries watermelons
apples is at index 0
plums is not in the array.

Process completed.

    • 12 years ago
    complete solution A++
    NOT RATED

    Purchase the answer to view it

    blurred-text
    • attachment
      searches.zip