Assume the existence of a Widget class that implements the Comparable interface
ID: 3766683 • Letter: A
Question
Assume the existence of a Widget class that implements the Comparable interface and thus has a compareTo method that accepts an Object parameter and returns an int . Write an efficient static method , getWidgetMatch, that has two parameters . The first parameter is a reference to a Widget object . The second parameter is a potentially very large array of Widget objects that has been sorted in ascending order based on the Widget compareTo method . The getWidgetMatch searches for an element in the array that matches the firstparameter on the basis of the equals method and returns true if found and false otherwise.
Explanation / Answer
public static boolean getWidgetMatch (Widget object, Widget[] widgetList)
{
int l = 0;
int h = widgetList.length - 1;
whle (l <= h){
int mid = l + (h - l) / 2;
if (object.compareTo(widgetList[mid]) < 0)
h = mid - 1;
else if (object.compareTo(widgetList[mid]) > 0)
l = mid + 1;
else return true;
}
return false;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.