我有一個對象數組,對象包含數據成員,如GoalsFor,GoalsAgainst和MatchPoints。現在我有搜索和顯示數據使用二進制搜索方法爲給定goalsFor或goalsAgainst或MatchPoints值。 我正在做一個二進制搜索類來執行搜索操作,但目前我必須爲三個操作的對象的每個數據成員製作三個二進制搜索類。是否有一種方法可以重用二進制搜索代碼,而不是複製它三次。如何重複使用這段代碼,而不是一次又一次的複製和粘貼
這是一個家庭作業問題,但我揣測我的懷疑是比較籠統的。 約束:線性搜索不允許的,沒有內置的功能,除了I/O可我在二進制搜索的其它實現改變的僅僅是使用goalsFor和目標反對,而不是點來使用
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);
}
}
您可以將您的二進制搜索邏輯實現爲java函數,然後多次調用該函數 – pradeep
您可以顯示此代碼被複制三次嗎? –
請張貼您的二進制搜索代碼的一個副本,以便更容易地解釋需要更改的內容。 – dasblinkenlight