Я пытаюсь написать этот метод bSearch (). Мой профессор предоставил для этого какой-то псевдокод; Тем не менее, я испытываю затруднения, выясняя, как реализовать некоторые из них. Я закодировал большую часть этого; однако у меня есть две строки, которые все еще не совсем верны. Я выделил разделы, в которых у меня есть трудности. Спасибо!
private int bSearch(Item SearchItem)
{
int low = Integer.MIN_VALUE;
int high = Integer.MAX_VALUE;
int foundPosition = -1;
int middle;
Item midPos;
while (low <= high && **we should continue looping**)
{
middle = (low + high) / 2;
midPos = MyStore.get(middle);
if (SearchItem.equals(midPos) == true)
{
foundPosition = middle;
**quit while loop**
}
else if (SearchItem.compareTo(middle) < midPos)
{
high = middle - 1;
}
else
{
low = middle + 1;
}
}
return foundPosition;
}