Warum muss das Eingabearray in aufsteigender Reihenfolge sortiert sein?
Wie kann man binäre Suche in Java programmieren? Ich möchte eine Zahl in einem Array suchen. Hier ist ein Beispiel, wie du einen binäre-Suche-Algorithmus in Java programmieren kannst:
[code]
public int binarySearch(int[] arr, int target) {
    int left = 0;
    int right = arr.length - 1;
    while (left <= right) {
        int mid = (left + right) / 2;
        if (arr[mid] == target) {
            return mid;
        } else if (arr[mid] < target) {
            left = mid + 1;
        } else {
            right = mid - 1;
        }
    }
    return -1;
}
[/code]
In dieser Implementierung nimmt der binäre-Suche-Algorithmus ein Array von Ganzzahlen und den Zielwert als Eingabe. Er verwendet zwei Zeiger, 'left' und 'right', um den aktuellen Suchbereich zu verfolgen. Der Algorithmus teilt den Suchbereich wiederholt in zwei Hälften, bis er den Zielwert findet oder feststellt, dass er nicht vorhanden ist. Wenn der Zielwert gefunden wird, wird der Index, an dem er gefunden wurde, zurückgegeben. Wenn der Zielwert nicht gefunden wird, gibt die Funktion -1 zurück.

Es ist wichtig zu beachten, dass das Eingabearray für diesen binäre-Suche-Algorithmus in aufsteigender Reihenfolge sortiert sein muss.
Die binäre Suche funktioniert, indem sie annimmt, dass die Mitte des Arrays den Medianwert des Arrays enthält.
Wenn es nicht sortiert ist, ergibt diese Annahme keinen Sinn, da der Median überall sein kann und das Halbieren des Arrays bedeuten könnte, dass du die gesuchte Zahl abschneidest.