2023 Implement and test a generic binary search Note that your test program must use at | Assignment Collections
Computer Science 2023 A+ Work
2023 Implement and test a generic binary search Note that your test program must use at | Assignment Collections
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.
We give our students 100% satisfaction with their assignments, which is one of the most important reasons students prefer us to other helpers. Our professional group and planners have more than ten years of rich experience. The only reason is that we have successfully helped more than 100000 students with their assignments on our inception days. Our expert group has more than 2200 professionals in different topics, and that is not all; we get more than 300 jobs every day more than 90% of the assignment get the conversion for payment.