Я работал над этой проблемой для школы
"Напишите программу двоичного поиска, которая ищет следующие 3 значения 74, 35, 62 (Да, я знаю ...)) в предоставленный набор данных. Ваше приложение должно распечатывать оставшиеся данные после каждого прохода. Набор данных: 23 27 29 31 35 39 40 41 52 66 71 74 75 90 99 "
В настоящее время я закодировал до часть, где я нахожу место поиска значения. Я просто не знаю, как распечатать оставшиеся данные после каждого прохода. Пожалуйста, помогите.
Это мой код:
import java.util.Scanner;
class BinarySearchTracing{
public static void main(String args[]){
Scanner scan = new Scanner (System.in);
int[] d = {23, 27, 29, 31, 35, 39, 40, 41, 52, 66, 71, 74, 75, 90, 99};
int start = 0;
int middle = 0;
int end = d.length - 1;
int location = -1;
boolean found = false;
System.out.println("Enter the look for value: ");
int lookfor = scan.nextInt();
scan.close();
while(start <= end && found == false) {
middle = (start + end) / 2;
if(d[middle] == lookfor) {
found = true;
location = middle;
}
else if(d[middle] < lookfor) {
start = middle + 1;
}
else {
end = middle - 1;
}
}
System.out.println(location);
}
}