У меня есть массив объектов, и объект содержит данные, такие как GoalsFor, GoalsAgainst и MatchPoints. Теперь у меня есть поиск и отображение данных с использованием метода двоичного поиска для заданных целей для целей или целейAgainst или MatchPoints. Я делаю класс бинарного поиска для выполнения операции поиска, но в настоящее время мне нужно сделать три из двух классов поиска по одному для каждого элемента данных объекта для трех операций. Есть ли способ, который я могу повторно использовать двоичный код поиска вместо копируя его три раза.Как повторно использовать этот код вместо копирования и вставки его снова и снова
Это проблема домашней работы, но я учусь, мои сомнения более общие. Constraint: Линейный поиск не допускается и не встроенной функции, кроме ввода/вывода могут быть использованы
public class BinarySearchPoints
{
public static void search(Teams arr[], int searchValue, int start , int end)
{
if(start > end)
return;
int mid = (end + start)/2;
if(searchValue == arr[mid].points)
{
System.out.print(arr[mid].toString());
search(arr, searchValue, mid + 1, end);
search(arr, searchValue, start, mid - 1);
}
else if(searchValue < arr[mid].points)
{
search(arr, searchValue, mid + 1, end);
}
else
search(arr, searchValue, start, mid - 1);
}
}
единственное, что я меняюсь в других реализаций двоичного поиска используется goalsFor и целей в отношении вместо точек
Вы можете реализовать свою двоичную логику поиска как функцию java, а затем вызвать эту функцию несколько раз – pradeep
Можете ли вы показать этот код, который копируется трижды? –
Пожалуйста, разместите одну копию своего двоичного кода поиска, чтобы было легче объяснить, что нужно изменить. – dasblinkenlight