У меня есть arraylist sArray, который содержит большой список правильно записанных слов. Мне нужно отправить слово на этот рекурсивный метод двоичного поиска (ключ) и определить, правильно ли оно написано или нет. Я понимаю, как работает рекурсивный бинарный поиск, но я не уверен, как определить, нужно ли мне идти влево или вправо в поиске sArray с моим ключевым словом, поскольку я имею дело со строками, а не целыми числами.Рекурсивный двоичный поиск Java
public int bSearch(String key, int lowIndex, int highIndex) {
if (lowIndex > highIndex) {
System.out.print("The word is incorrect");
return -1;
}
mid = (lowIndex + highIndex)/2;
if (sArray.get(mid).equals(key)) {
return mid;
} else if (key < sArray.get(mid)) {
return bSearch(key, lowIndex, mid - 1);
} else {
return bSearch(key, mid + 1, highIndex);
}
}