Таким образом, нас просят создать двоичный поиск, который может использовать либо сопоставимый, либо компаратор, в зависимости от того, какой конструктор используется, поэтому я сделал личный логический, чтобы отметить, использовать или нет «естественное упорядочение» или их компаратор Объект. < /p>
при тестировании, когда код достигает первого оператора if в Natrual, в то время как цикл я получаю исключение NULL Pointer с «невозможно прочитать» значение «значение», потому что «другой интеромер» - это null "хотя, когда я следую за кодом. это лучший способ отличить, использовать ли компаратор или сопоставимо. Я пока не нашел никаких подобных приложений в Интернете, так что это либо не обычный способ сделать это, либо я просто использую плохие поисковые термины. < /P>
Большое спасибо в Advnace, прости мой плохой код, так как в моем методе также есть много логических ошибок. < /p>
@SuppressWarnings("unchecked")
private int binarySearch(E item)
{
int start = 0;
int end = maxIndex;
int mid = (start + end) / 2;
if(natural == true)
{
while(start
Подробнее здесь: https://stackoverflow.com/questions/793 ... comparable
Общий бинарный поиск Java с компаратором и сопоставимой ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение